VS2013 架构比较:"Source is unavailable" when 运行 against SQL Server 2016 Express

VS2013 schema compare: "Source is unavailable" when running against SQL Server 2016 Express

我正在尝试 运行 使用 Visual Studio 2013.5 和 SQL Server Data Tools 12.0.50730.0 与 SQL Server 2016 (13.0.300 ) 快递数据库。

我可以正确配置源连接,当我在连接属性对话框中点击 'Test Connection' 时,它显示 "Test connection succeeded."

然而,当我在模式比较中点击 'Compare' 时 window 它说 "Initializing Comparison..." 几秒钟,然后 "Source is unavailable: "

只有当我使用 SQL Server 2016 作为源时才会发生这种情况,其他服务器工作正常。

这是一个错误吗?

编辑:我也尝试在 VS2015 中使用 SSDT 14.0.50730.0,但我得到了同样的错误。

SQL Server 2016 的工具,如数据库引擎本身,仍处于预览阶段。 SSDT 的 7 月 RTM 版本不包括对 SQL Server 2016 的支持。您需要从此处下载并安装 "SSDT June Preview" 版本:https://msdn.microsoft.com/library/mt204009.aspx

当我收到此错误消息时,解决方案是使用具有 sysadmin 服务器角色的登录名。

SQL Server Data Tools 对 SQL Server 2016 的支持现已正式发布,通过 VS2013 和 VS2015 中的扩展和更新进行的最新更新将为您解决此问题。也可以直接从这里下载page for VS2015, and this page for VS2013.

我有这个错误。一旦我将服务器名称从 "pcname" 更改为 IP“192.168.1.xxx”,它就起作用了。

我发现使用 username@servername 作为连接的用户名可以解决针对 Azure 数据库的问题。不确定这是否适用于非 Azure。我曾经有过在没有这样做的情况下一直有效的连接突然停止,然后这为我修复了它。

例如,当使用 mylogin 登录并连接到 myserver.database.windows.net 时,如果我改为使用 mylogin@myserver.database.windows.net 作为用户名我不会得到 "Source is unavailable" 问题。

我在连接到 AWS RDS 实例时遇到了同样的问题。我能说的唯一导致问题的变化是升级到 VS2015 和 SSDT 14.0.61021.0

我将以下内容添加到连接字符串中,并将它们的一些组合解决了问题:

;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;Persist Security Info=True

我通过重新创建比较然后比较两个 .scmp 文件来解决这个问题

在 Visual Studio 2017 年,我遇到了同样的问题,唯一对我有用的解决方案是:

关闭Visual Studio,打开并重试:)这似乎是一个缓存问题。另一种选择是重命名数据库,但这不是解决此问题的好方法。

这似乎是一个缓存问题。我通过

解决了它
  1. 连接到同一台服务器上的其他数据库
  2. 将架构与目标项目进行比较
  3. 从连接中删除主数据库的历史记录
  4. 重启Visual Studio
  5. 创建与主数据库的连接并再次比较架构

希望对你有用!