2015-06-11 61 views
4

當使用Sql Server數據工具數據比較工具時,當源是Azure數據庫時,我們這裏幾個人無法進行比較。連接到Azure時,Sql Server數據工具數據比較失敗

我們得到的錯誤是如下:

--------------------------- 
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服務器沒有任何問題。

+0

你能和我們分享SQL Server數據工具的版本嗎?你可以在HELP> About Microsoft Visual Studio下看到這個。我只是試過這個,並沒有遇到任何問題。很樂意提供幫助。 – Boboyum

+0

已添加。還提到我們可以使用SSMS。 –

+0

與發佈.sqlproject到Azure V12數據庫有類似的問題。其中一個環境的用戶無法訪問主數據庫。謝謝! –

回答

4

它原來是一個權限問題的IP地址,但我可以利用現有的信息來診斷它在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 「微軟SQLServerDataTools」 將0x800 -o 「%LOCALAPPDATA%\ DacFxDebug.etl」 -ets
    • logman創建跟蹤-n SSDTDebug -p 「微軟SQLServerDataToolsVS」 將0x800 -o 「%LOCALAPPDATA%\ SSDTDebug.etl」 -ets
  • 運行任何目標/問題的方案是在SSDT。回到命令提示符並運行以下命令
    • logman停止DacFxDebug -ets
    • logman停止SSDTDebug -ets
  • 生成的ETL文件將位於%LOCALAPPDATA%\ SSDTDebug.etl &%LOCALAPPDATA%\ DacFxDebug.etl並且可以導航到使用Windows資源管理器。
+2

因爲這是來自谷歌查詢的第一個結果,我想我會在這裏添加解決方案。是的,這是一個權限問題。架構比較試圖查詢默認情況下azure用戶無權訪問的master數據庫。簡單地將用戶(無權限添加用戶)添加到掌握Azure實例並且問題消失。 – voglster

0

我發現如果我已經比較了一個本地數據庫(在同一個會話中),然後嘗試比較一個Azure數據庫。我發現有一些奇怪的鎖,阻止Azure SQL DB上的登錄。

關閉Visual Studio並重新打開它應該連接好。