Как сделать резервную копию и поддерживать таблицу SQL Server в Azure?

Я создал конвейер в Azure ADF, который выполняет ETL для создания чистого файла «Final_Data_2023.csv» размером 15 ГБ в контейнере хранилища Azure, и этот чистый файл будет скопирован в таблицу SQL Server dbo.Final_Table.

Этот процесс происходит каждый месяц, и в следующем месяце мы снова подготовим чистый файл Final_Data_2023.csv. Мне нужно обрезать dbo.Final_Table и снова вставить в него новые данные. Но я обеспокоен тем, что мои новые данные имеют совершенно неверные значения, и для быстрого исправления мне нужно, чтобы мой старый Final_Data_2023.csv находился в таблице dbo.Final_Table. Поскольку я усекаю все данные из таблицы, вернуть их будет невозможно.

Как мне спроектировать свою архитектуру, чтобы я мог быстро получить или сохранить таблицу предыдущего месяца и отменить ее, если что-то пойдет не так?

Это не обязательно должен быть небольшой обходной путь.

Вы можете переименовать dbo.Final_Table во что-то вроде dbo.Final_Table_bkp, а затем воссоздать пустой dbo.Final_Table

Anthony Norwood 14.02.2023 08:26
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
Уроки CSS 6
Уроки CSS 6
Здравствуйте дорогие читатели, я Ферди Сефа Дюзгюн, сегодня мы продолжим с вами уроки css. Сегодня мы снова продолжим с так называемых классов.
Что такое Css? Для чего он используется?
Что такое Css? Для чего он используется?
CSS, или "Каскадные таблицы стилей", - это язык стилей, используемый в веб-страницах. CSS является одним из основных инструментов веб-разработки...
1
1
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Контейнер хранилища Azure в основном используется для хранения больших объемов данных. Таким образом, вы можете разработать конвейер для хранения всех данных резервного копирования в контейнере и копирования только последнего файла в таблицу SQL-сервера.

Подход:

  • Вы можете сохранить имя файла вместе с датой при копировании в контейнер хранилища Azure.
  • Скопируйте тот же файл из контейнера в базу данных.

Ниже приведены подробные шаги.

  • Сохраните имя файла с текущей датой в переменной, используя заданную переменную. @concat(substring(utcnow(),0,10),'_filename.csv')

  • Добавьте действие копирования для копирования данных с сервера SQL в контейнер хранилища.

  • В действии копирования вы можете взять исходный набор данных, а в наборе данных приемника создать параметр для имени файла.

  • Добавьте параметр @dataset().fileName в путь к файлу, как показано на изображении ниже.

  • В наборе данных Sink передайте значение переменной в параметр набора данных.

  • Добавьте еще одно действие копирования для копирования из контейнера в БД и сохраните тот же исходный набор данных, который использовался в действии копирования1, и передайте переменную в параметре набора данных.

  • В наборе данных приемника укажите набор данных для SQL-сервера.

Таким образом, вы можете хранить данные резервной копии в контейнере Azure и копировать новый чистый файл в базу данных. Если необходимо откатиться к предыдущим версиям файла, мы можем скопировать эти данные из контейнера.

Другие вопросы по теме