【问题标题】:Sql Server Data Tools Data Comparison fails when connecting to Azure连接到 Azure 时 Sql Server Data Tools 数据比较失败
【发布时间】:2017-08-25 00:28:28
【问题描述】:

当使用 Sql Server Data Tools 数据比较工具时,我们中的一些人在源是 Azure 数据库时无法进行比较。

我们得到的错误如下:

---------------------------
Microsoft Visual Studio
---------------------------
Data information could not be retrieved because of the following error:

Value cannot be null.

Parameter name: conn

Value cannot be null.

Parameter name: conn

连接测试工作正常。我试过创建一个新的连接。附带说明一下,如果我将数据与非 Azure 源进行比较,则一切正常。

SQL Server 数据工具版本为 12.0.50512.0

我们可以毫无问题地使用 SSMS 访问服务器。

【问题讨论】:

  • 您能与我们分享一下 SQL Server Data Tools 的版本吗?您可以在帮助>关于 Microsoft Visual Studio 下看到这一点。我只是尝试过这个并没有遇到任何问题。很乐意提供帮助。
  • 已添加。还提到我们可以很好地使用 SSMS。
  • SSDT 版本 12.0.50512.0 支持与 Azure SQL 数据库进行数据比较。您能否分享有关您的 SQL 数据库的更多详细信息?数据库和模式复杂性的定价层是多少?例如表和视图的数量。数据库大小。
  • 在将 .sqlproject 发布到 Azure V12 数据库时遇到了类似问题。其中一个环境的用户无权访问主数据库。谢谢!

标签: azure azure-sql-database sql-server-data-tools


【解决方案1】:

原来是权限问题,但我能够使用https://social.msdn.microsoft.com/Forums/sqlserver/en-US/740e3ed8-bb05-48f7-8ea6-721eca071198/publish-to-azure-db-v12-failing-value-cannot-be-null-parameter-name-conn?forum=ssdt提供的详细信息进行诊断

为 SSDT 收集事件日志

  • 以管理员身份打开一个新的命令提示符。
  • 运行以下命令
    • logman 创建跟踪 -n DacFxDebug -p "Microsoft-SQLServerDataTools" 0x800 -o "%LOCALAPPDATA%\DacFxDebug.etl" -ets
    • logman 创建跟踪 -n SSDTDebug -p "Microsoft-SQLServerDataToolsVS" 0x800 -o "%LOCALAPPDATA%\SSDTDebug.etl" -ets
  • 运行 SSDT 中的任何目标/问题场景。返回命令提示符并运行以下命令
    • logman 停止 DacFxDebug -ets
    • logman 停止 SSDTDebug -ets
  • 生成的 ETL 文件将位于 %LOCALAPPDATA%\SSDTDebug.etl 和 %LOCALAPPDATA%\DacFxDebug.etl,并且可以使用 Windows 资源管理器导航到。

【讨论】:

  • 因为这是谷歌查询的第一个结果,我想我会在这里添加解决方案。是的,这是一个权限问题。架构比较尝试查询默认情况下 azure 用户无权访问的主数据库。简单地将用户(没有权限只添加用户)添加到 azure 实例上的主控,问题就消失了。
【解决方案2】:

没有这样的限制。参考 - https://msdn.microsoft.com/en-us/hh272693(v=vs.103).aspx

检查防火墙规则是否为此连接打开。如果不是,则将当前客户端 IP 添加到该 SQL Azure DB 的允许 IP 地址

【讨论】:

    【解决方案3】:

    我发现,如果我事先(在同一会话中)已经比较了本地数据库,那么请尝试比较 Azure 数据库。我发现有一些奇怪的锁阻止了 Azure SQL DB 的登录。

    关闭 Visual Studio 并重新打开它应该可以正常连接。

    【讨论】:

    • 重新启动 Visual Studio 对我有用,令人难以置信的是,自从 Alex 报告此修复程序以来,微软几乎一年后仍未解决此问题,我仍然遇到此问题。
    猜你喜欢
    • 1970-01-01
    • 2012-11-17
    • 2015-03-06
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多