簡體   English   中英

使用Azure Sql故障轉移組時連接字符串應該是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM