Проект базы данных Visual Studio и SQL Azure

Я действительно борюсь с лучшим подходом к управлению базой данных SQL Azure, который основан на проекте базы данных Visual Studio 2010. Я подумал, что было бы достаточно просто использовать VSDBCMD для создания сценариев различий для обновлений, а затем просто запускать их в SQL Azure в SSMS. Однако я получаю ужасное сообщение: «Не удалось определить целевой поставщик схемы базы данных. Развертывание не может продолжаться». ошибка.

На данный момент я просто предполагаю, что либо SQL Azure не поддерживает что-то в VSDBCMD, либо наоборот, и я ищу другие подходы. Вот подход, который я сейчас рассматриваю:

  1. Создайте сценарий для моей базы данных SQL Azure из SSMS, используя настройку ядра базы данных Azure.
  2. Создайте временную локальную базу данных из сценария на шаге 1.
  3. Используйте VSDBCMD для создания моего дельта-сценария в локальной базе данных из шага 2.
  4. Просмотрите / измените сценарий из шага 3.
  5. Запустите скрипт из шага 3/4 для SQL Azure в SSMS.

Хорошо, Плохо? Есть ли другие идеи?

ИЗМЕНИТЬ : Я обновился до Visual Studio 2010 SP1 и обнаружил, что в Microsoft.Data.Schema.Sql.dll есть новый поставщик схемы базы данных: SqlAzureDatabaseSchemaProvider. Однако я не могу определить, как на самом деле использовать этого плохого парня. Теперь, когда я пробую тот же сценарий VSDBCMD для базы данных Azure, я получаю:

Поставщик схемы исходной базы данных Sql100DatabaseSchemaProvider не может быть переведен на поставщика SqlAzureDatabaseSchemaProvider. Развертывание невозможно продолжить.

Я также попытался использовать поставщика Sql90 с тем же результатом. Я даже вручную отредактировал файл dbproj и изменил свойство DSP на SqlAzureDatabaseSchemaProvider. Когда я перезагружаю проект, я получаю:

Поставщик схемы базы данных должен предоставить реализацию DataGenerationServices.

Кто-нибудь пробовал это с VS 2010 SP1?

13
задан Michael Edenfield 3 May 2012 в 16:59
поделиться