2008-11-12 69 views
3

我有一個SQL Server 2000安裝在服務器上,我有奇怪的連接問題。無法使用別名連接到SQL Server

使用SSMS我無法使用Alias連接到它我已在Configuration Manager上進行設置。別名被設置爲使用TCPIP,這是共享內存下面的順序中的第一個協議。如果我使用與Alias完全相同的服務器名稱,那麼我可以很好地連接。

我在我的ASP.NET應用程序中看到完全相同的行爲,使用別名我得到連接失敗,使用它連接的名稱很好。 ASP.NET連接字符串未指定協議。

回答

0

別名是否指定協議?該協議是否被服務器接受?當通過名稱進行連接時,是否使用該協議? (即客戶端協議的順序是什麼)

1

使用服務器名稱將使用客戶端的默認連接協議。 這可能被命名爲管道或tcp/ip(MDAC版本,升級vs安裝等)。

別名設置爲使用TCPIP是 在順序中的第一協議下面 共享存儲器

我假設,如果客戶端別名設置爲使用TCP,那麼該服務器是唯一的配置爲偵聽命名管道,因此它只能與服務器名稱一起使用。客戶端最終將在其要使用的協議列表中找到命名管道。

要測試,請使用np:servername和tcp:servername替換servername,以便使用別名來更改協議而不使用

或檢查一下服務器監聽和修復...

另一種選擇是一個非標準的TCP端口(服務器,而不是1433)或防火牆阻止訪問端口1434分之1433。

SQL 2000 Books