Sql-Server

SQL 2008 R2 命名實例客戶端連接問題?

  • July 3, 2012

我們正在將我們的軟體從使用 SQL 2000 升級到 2008 R2。我們的客戶將安裝一個更新,解除安裝 2000 並在同一實例下安裝 2008 R2。因此,如果不存在實例,則不會設置實例名稱(預設)。但是,問題始於擁有命名 SQL 實例的客戶。

從 2008 R2 開始(之前不確定),由於某種原因,客戶端通過其實例名稱連接到伺服器是不成功的。我正在從 Management Studio 進行測試 - 如果我無法連接它,那麼什麼都無法連接。我瀏覽網路伺服器,並在列表中找到特定的伺服器\實例。但是,在嘗試連接到實例名稱MyServer\INST時,我得到:

A network-related or instance-specific error occurred while establishing
a connection to SQL Server. The server was not found or was not accessible.
Verify that the instance name is correct and that SQL Server is configured
to allow remote connections. (provider: SQL Network Interfaces, error: 26 -
Error Locating Server/Instance Specified) (Microsoft SQL Server, Error: -1)

事實上,我確實啟用了 TCP/IP 和命名管道協議,這是我做的第一件事。當我使用逗號 (,) 和埠號(如 )連接到伺服器時MyServer, 49195,它工作得很好。因此,客戶端電腦似乎無法辨識實例名稱。我們安裝的所有 SQL 2008 R2 以及所有客戶端電腦(包括 Win 7、XP、Vista、Server 2008 和 Server 2003)都發生了這種情況。我們在早期版本的 SQL 上從未遇到過此類問題。如果防火牆和防病毒軟體都被禁用,問題甚至仍然存在。

現在,這是一個大型更新,我們將很快分發給所有客戶,我們希望最大限度地減少他們與我們進行安裝所需的互動。我們絕對討厭使用埠號的想法,因為它總是不同的,我們必須修改每個客戶端以指向這個伺服器/埠。我們的一些客戶可能擁有數百台客戶端電腦。如何使與命名 SQL 實例的客戶端連接再次工作?畢竟,這是命名實例的全部目的,如果客戶端不能通過它的名字連接到這個實例,那麼它的命名是什麼?

編輯

有人提到要確保 SQL Browser 正在執行,所以我檢查了一下,它正在執行。伺服器也能夠連接到它自己(本地) - 只是外部連接被拒絕。

更新

經過更仔細的檢查,我了解到防火牆在測試時並沒有完全禁用,並且在完全禁用後,這是可行的。因此,似乎 SQL Browser 被防火牆阻止了外部客戶端的訪問。

嘗試禁用防火牆,因為它可能會阻止 SQL 瀏覽器的埠 1434

SQL Browser 服務是否已啟用並啟動?

http://www.mssqltips.com/sqlservertip/1946/overview-of-the-sql-server-browser-service/

引用自:https://serverfault.com/questions/404405