2013-03-21 25 views
0

當MultiSubnetFailover設置爲true時,我們的開發人員無法連接到AlwaysOn可用性組監聽器,這是一個奇怪的問題。但是,嘗試直接連接到組的主節點時,客戶端可以連接。我們使用.Net 4.0.3以及windows 7使用.Net 4.0.3,在windows 8上重現了這一點。和.Net 4.5。連接到帶有MultiSubnetFailover的SQL Server 2012 AlwaysOn組監聽器導致超時

我們還成功將我們的登臺服務器連接到組監聽器上,並使用sqlcmd和SMS使用MultiSubnetFailover標誌連接到貴賓室。所以看起來聽者本身是正確配置的。

下面是對Listener名稱的nslookup結果。就我能在網上找到的,我們已經做得很好,但連接仍然超時。任何人都可以提供的幫助非常感謝。

更新:

通過排除法,這似乎以某種方式被涉及具有安裝Visual Studio,對開發商的機器。

NSLOOKUP:

Non-authoritative answer: 
Name: sql02 
Address: 10.101.2.222 
Name: sql02 
Address: 10.101.1.222 
Name: sql02 
Address: 10.101.0.222 

最少測試用例:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Data.SqlClient; 

namespace ConsoleApplication1 
{ 
   class Program 
   { 
       static void Main(string[] args) 
       { 
           var connection = new SqlConnection(@"                     
               Data Source              = sql02; 
               Initial Catalog          = test; 
               Integrated Security      = True; 
               MultiSubnetFailover      = True; 
               MultipleActiveResultSets = True; 
               Max Pool Size            = 512;"); 

           connection.Open(); 

       } 
   } 
} 

回答

0

實際上,我們已經確定了問題的最後一週。

事實證明,這是由運行Avast!的開發機器創建的驅動程序問題!作爲防病毒解決方案。我們無法找到防止這種情況的魔術設置,所以我們不得不卸載Avast!並將用另一種殺毒軟件替代它。

0

嘗試增加您的登錄超時爲30秒,看看是否連接成功。如果是這樣,請記下連接所需的秒數。大約20-22秒嗎?

您可以使用SQLCMD.EXE來測試這個是這樣的:

SQLCMD -S聽衆-E -M -L30