Сбой экспорта Bacpac из 2008 R2 в правилах проверки Azure

Я изучаю предложение класса SSDT .NET в Microsoft.SqlServer.Dac.dll, используя Powershell, и пытаюсь превратить базу данных в SDLC на основе управления исходным кодом в качестве доказательства концепции. Первым делом я попытался экспортировать bacpac, чтобы мы могли распространять базу данных в наших тестовых средах и, в конечном итоге, в производство.

До сих пор у меня не было проблем с экспортом dacpac с использованием DacServices.Extract, Тем не менее, когда я пытаюсь экспортировать ту же базу данных, используя DacServices.ExportBacpacсообщается об огромном количестве ошибок, похожих на:

Error validating element [dbo].[GetNewCustomers]: Deprecated feature 'Table hint without WITH' is not supported on SQL Azure.

Я знаю, что сообщает об ошибке (используя (NOLOCK) подсказки вместо WITH (NOLOCK)). Однако на моей рабочей станции установлен набор инструментов Sql Server 2012, а база данных, с которой я работаю, - Sql Server 2008 R2, поэтому меня не интересует поддержка этого синтаксиса в Azure.

  • Есть ли способ сообщить платформе Dac, что я не использую Azure, когда извлекаю bacpac?
  • Я поступаю об этом неправильно? Стоит ли пытаться преобразовать данные в сценарии, размещенные в моем sqlproj?

2 ответа

Решение

Чего ты пытаешься достичь? Если вы хотите использовать SSDT, лучшим способом для начала будет создание нового проекта и импорт из вашей базы данных (или восстановление резервной копии где-нибудь и импорт из нее)

Это должно помочь вам начать:

https://the.agilesql.club/Blogs/Ed-Elliott/HOWTO-Get-An-Existing-Schema-Into-SSDT

А также

https://the.agilesql.club/taxonomy/term/34

У вас есть некоторый контроль над используемой версией, но только в том, является ли она лазурной версией 11 или 12.

издание

Файлы Bacpac предназначены для использования в сценариях переноса / архивирования базы данных SQL Azure, поэтому механизм экспорта всегда обеспечивает соблюдение требования о том, что содержимое файла bacpac можно импортировать в базу данных SQL Azure. Чтобы избежать этого ограничения, вы можете извлечь файл dacpac со всеми данными таблицы, который очень похож на файл bacpac.

Кроме того, последние версии DACFx поддерживают площадь поверхности Azure SQL Database V12, которая значительно расширена по сравнению с предыдущей версией. Вы обнаружите, что конкретная ошибка, с которой вы сталкиваетесь, больше не мешает завершению экспорта, поскольку расширенная область базы данных SQL Azure поддерживает этот синтаксис.

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