Visual Studio数据库项目和SQL Azure

tod*_*tta 13 database-project azure visual-studio-2010 azure-sql-database

我真的在努力管理基于Visual Studio 2010数据库项目的SQL Azure数据库的最佳方法.我认为使用VSDBCMD创建用于升级的差异脚本然后只需在SSMS中针对SQL Azure运行就足够了.但是,我得到了可怕的"无法确定目标数据库架构提供程序.部署无法继续." 错误.

在这一点上,我只是假设SQL Azure不支持VSDBCMD中的某些内容,反之亦然,我正在考虑其他方法.这是我正在考虑的方法:

  1. 使用Azure数据库引擎设置从SSMS编写SQL Azure数据库脚本.
  2. 在步骤1中从脚本创建一个临时本地数据库.
  3. 使用VSDBCMD从步骤2开始针对本地数据库创建delta脚本.
  4. 检查/修改步骤3中的脚本.
  5. 在SSMS中针对SQL Azure运行步骤3/4中的脚本.

好坏?还有其他想法吗?

编辑:我今天更新到Visual Studio 2010 SP1,发现Microsoft.Data.Schema.Sql.dll中有一个新的数据库架构提供程序:SqlAzureDatabaseSchemaProvider.但是,我无法确定如何真正使用这个坏男孩.现在,当我针对Azure数据库尝试相同的VSDBCMD脚本时,我得到:

源数据库架构提供程序Sql100DatabaseSchemaProvider无法转换为提供程序SqlAzureDatabaseSchemaProvider.部署无法继续.

我也尝试使用具有相同结果的Sql90提供程序.我甚至手动编辑了dbproj文件,并将DSP属性更改为SqlAzureDatabaseSchemaProvider.当我重新加载项目时,我得到:

数据库模式提供程序必须提供DataGenerationServices的实现.

有人试过VS 2010 SP1吗?

vto*_*ola 3

您可以使用SQL Azure 迁移向导并使用它。也许您可以获取脚本并根据需要进行编辑。只是一个想法。