[英]What should the providerName attribute be when adding a connection string for an SQL database?
[英]What should the connection string be when using Azure Sql Failover groups?
好的,因此我在mydatabase.databsae.windows.net
設置了一個Azure Sql故障轉移組,該組包含2個服務器:
mydatabase1.databsae.windows.net
mydatabase2.databsae.windows.net
我轉到connectionstrings.com以獲取如下所示的Sql Azure連接字符串:
Server=tcp:mydatabase.database.windows.net;Database=mySqlDatabase; User ID=MyUser@[serverName];Password=myPassword;Trusted_Connection=False; Encrypt=True;
現在問題出在我嘗試的用戶ID = MyUser @ [serverName] :
User ID=MyUser@mydatabase
但無效,並反復返回錯誤:
服務器“ mydatabase”上的數據庫“ mySqlDatabase”當前不可用。 請稍后重試連接
我還嘗試了User ID=MyUser@mydatabase1
,它確實起作用了。
但是上面連接字符串中的問題是,當我將故障轉移到mydatabase2
我將需要更新所有連接字符串。
那么使用Sql Failover組時正確的連接字符串是什么?
這是故障轉移組的當前限制:
注意:如果此時您轉到SSMS並嘗試使用上述偵聽器連接到主數據庫/次數據庫,則會收到錯誤消息,並且將無法登錄。 理想情況下,它應該允許,但當前失敗,因為它嘗試連接到當前不屬於該組的Master數據庫。 目前正在對此進行處理,應盡快解決。 直到那時,解決方法是在連接服務器時提供數據庫名稱。 使用選項按鈕提供數據庫名稱。
這意味着當前僅以下連接字符串有效:
Server=tcp:mydatabase.database.windows.net;Database=mySqlDatabase;
User ID=MyUser@mydatabase1;Password=myPassword;Trusted_Connection=False;
Encrypt=True;
要么
Server=tcp:mydatabase.database.windows.net;Database=mySqlDatabase;
User ID=MyUser@mydatabase2;Password=myPassword;Trusted_Connection=False;
Encrypt=True;
不幸的是,這使自動故障轉移完全無用,因為您需要重新配置所有連接字符串
參考: https : //social.technet.microsoft.com/wiki/contents/articles/37968.working-with-azure-sql-auto-failover-group.aspx
嘗試:
Server=tcp:mydatabase.database.windows.net;Database=mySqlDatabase;
User ID=MyUser@mydatabase;Password=myPassword;Trusted_Connection=False;
Encrypt=True;MultiSubnetFailover=True;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.