Недавно я автоматизировал развертывание проектов служб SSIS и базы данных SQL Server с помощью сценариев PowerShell. Я использую SQLPackage.exe (фреймворк dacpac) для развертывания .dacpac с целью автоматизации обновления структуры базы данных. Моя проблема : Dacpac пытается перестроить огромные таблицы и завершается ошибкой с сообщением об ошибке "журнал транзакций заполнен".
Я нашел решение путем копирования всех данных во временную базу данных, обрезания фактической базы данных, обновления с помощью dacpac и копирования данных обратно. Действительно важные замечания, на которые следует обратить внимание :
- Я должен где-то сохранять данные.
- Во время копирования данных я явно копирую данные небольшими партиями по 50000 строк и очищаю базу данных. файл журнала для предотвращения ошибки.
Мой вопрос: есть ли в SQLPackages / deploy опция, которая позволяет легче обрабатывать этот процесс? Или другой способ, о котором я не думал?