【问题标题】:VS 2010 DB project fails to deploy after upgrade to Sql Server 2012 Error Deploy01234升级到 Sql Server 2012 后,VS 2010 DB 项目部署失败 Deploy01234
【发布时间】:2026-01-10 09:30:01
【问题描述】:

我有 VS2010 Premium,最近从 SQL Server 2008R2 升级到 2012 Developer Edition。现在,当我尝试部署现有数据库项目(使用 2008Rs 创建)时,出现以下错误。

错误 {name}:目标数据库架构提供程序无法 确定

此外,我没有看到用于从 VS 中的可用项目模板创建 2012 年新数据库项目的选项,SQL Server Data Tools 应该可以使用这些选项(作为 2012 年升级的一部分成功安装) .

【问题讨论】:

  • 我遇到了一个类似的问题,结果证明是基于权限的(运行 MSI 的本地安装程序服务运行 VSDBCMD 在 LocalSystem 帐户下运行,并且无法访问远程 SQL Server)。

标签: visual-studio sql-server-2012


【解决方案1】:

在 MS 网站的帮助下,我得以解决此问题。

我(重新)从http://msdn.microsoft.com/en-us/data/gg427686 安装了 SSDT,然后重新启动。然后打开SSDT创建一个新的sql项目。起初我没有找到“Sql Server 数据库项目”的新项目模板 - 对我来说,它出现在 Installed Templates/Other Languages/Sql Server 下。由于我不确定我是否在此测试之前看过那里(不是直观的位置),我不能说重新安装是否成功。但这让我继续前进。

【讨论】:

  • 还应该注意,我现在对转换 dbproj 不太感兴趣,并且正在从 2009R2 数据库的提取中创建一个新项目。这是 Sergey Barskiy 在link 的帖子中提出的。
  • 谢谢。我遇到了同样的错误,安装 SQL Server Data Tools 并转换项目解决了问题。
【解决方案2】:

在使用 vsdbcmd 部署数据库更新时,我遇到了与上述类似的错误。

无法确定目标数据库架构提供程序。 部署无法继续。 {PATH 和 NAME} .dbschema

参考 来自名为 {yourschema} .dbschema 的源的外部元素可以 没有被解析,因为没有加载这样的源。


我的命令示例:

/cs:"Data Source=DbServer; Integrated Security=True; Initial Catalog=Database"


疑难解答:

  1. 确认您已复制所有必要的部署文件 程序 => \Microsoft Visual Studio 10.0\VSTSDB\Deploy
  2. 确保您可以使用 sqlcmd 以与使用 vsdbcmd 完全相同的方式连接到数据库服务器 => 集成安全性与用户名/密码
  3. 如果您要指定初始目录,请从连接中删除 字符串并使用 /p:YourDatabase


几个帮助测试连接性的 SQL 命令:

sqlcmd.exe -S tcp:<server>,<port> -Q "select getdate()"
sqlcmd.exe -S tcp:<server>\<instance> -Q "select getdate()"


参考资料:
vsdbcmd command line reference (MSDN)
sqlcmd command line reference (MSDN)
http://sadomovalex.blogspot.co.uk/2011/10/vsdbcmd-fix-possible-reason-for-target.html (2011)

【讨论】: