2017-10-13 130 views
2

我試圖使用SSDT發佈到Azure中的SQL Server數據庫。當我這樣做,我看到下面的錯誤:SSDT未能發佈:「無法連接到主服務器或目標服務器」

Unable to connect to master or target server 'DATABASE_NAME'. You must have a user with the same password in master or target server 'DATABASE_NAME'.

忽略了一個事實,它的上市數據庫名稱錯誤的服務器名稱,我不知道如何解決它。當我指定目標數據庫時,我可以成功測試連接。我也可以通過SSMS將相同的信用連接到數據庫。

在研究了錯誤之後,似乎Azure中的數據庫的防火牆通常不包含您發佈的計算機的IP地址。它不僅包含我的IP,而且還添加了另一個防火牆規則,以允許每個IP(0.0.0.0-255.255.255.255)消除防火牆作爲此問題的潛在原因。

任何想法?

+0

不建議在防火牆規則中指定每個IP –

+0

@VenkataramanR顯然。作爲一個可能的原因,我正在運行它。 – im1dermike

回答

5

這是一個已知問題。這是由於新創建的SQL Azure數據庫具有新的兼容級別140。已將此問題記錄在here中,並將SSDT從here更新爲最新版本可能會解決此問題。

或者,您可以將數據庫的兼容級別更改爲130

ALTER DATABASE database_name 
SET COMPATIBILITY_LEVEL = 130; 

希望這有助於。

-2

嘗試使用Sql Server Management Studio連接到SQL Azure數據庫,並且在管理工作室中列出的IP是正確的IP地址。嘗試添加到SQL Azure防火牆規則。 Sql Azure門戶的防火牆頁面中列出的IP地址不準確。

0

嘗試通過SSMS從本地SQL Server部署數據庫到Azure SQL數據庫時遇到同樣的問題。

試圖將源數據庫的兼容級別更改爲130,仍然得到相同的錯誤。

試圖添加相同的用戶登錄到主數據庫,沒有幫助。

最終,開始尋找其他方法。使用數據遷移助理成功,如https://docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate中的說明。

相關問題