Я действительно борюсь с лучшим подходом к управлению базой данных SQL Azure, который основан на проекте базы данных Visual Studio 2010.Я подумал, что было бы достаточно просто использовать VSDBCMD для создания сценариев diff для обновлений, а затем просто запускать против SQL Azure в SSMS.Тем не менее я получаю страшное: «Не удалось определить целевой поставщик базы данных. Развертывание не может быть продолжено».ошибка.
Сейчас я просто предполагаю, что SQL Azure не поддерживает что-либо в VSDBCMD или наоборот, и я смотрю на другие подходы.Вот подход, который я сейчас рассматриваю:
- Создание сценария для моей базы данных SQL Azure из SSMS с использованием параметра ядра базы данных Azure.
- Создание временной локальной базы данных из сценария на шаге 1.
- Используйте VSDBCMD для создания моего дельта-скрипта для локальной базы данных из шага 2.
- Просмотр / изменение скрипта из шага 3.
- Запуск скрипта из шага 3/4 для SQLAzure в SSMS.
Хорошо, плохо?Любые другие идеи?
EDIT : Сегодня я обновился до Visual Studio 2010 с пакетом обновления 1 (SP1) и обнаружил, что в Microsoft.Data.Schema.Sql.dll есть новый поставщик схемы базы данных: SqlAzureDatabaseSchemaProvider.Однако я не могу определить, как на самом деле использовать этого плохого мальчика.Теперь, когда я пытаюсь использовать тот же сценарий VSDBCMD для базы данных Azure, я получаю:
Исходный поставщик схемы базы данных Sql100DatabaseSchemaProvider не может быть преобразован в поставщик SqlAzureDatabaseSchemaProvider.Развертывание не может быть продолжено.
Я также пытался использовать поставщика Sql90 с тем же результатом.Я даже вручную отредактировал файл dbproj и изменил свойство DSP на SqlAzureDatabaseSchemaProvider.При перезагрузке проекта я получаю:
Поставщик схемы базы данных должен обеспечить реализацию DataGenerationServices.
Кто-нибудь пробовал это с VS 2010 SP1?