SQL Server : Browser服務是SQL Server 2005新增的,簡單的說,如果一個物理服務器上面有多個SQL Server實例,那么為了確保客戶端能訪問到正確的實例,所以SQL Server 2005提供了一個新的Browser服務.
下面內容是聯機幫助中的一部分:
SQL Server 瀏覽器程序以 Windows 服務的形式運行。SQL Server 瀏覽器偵聽對 Microsoft SQL Server 資源的傳入請求,并提供計算機上安裝的 SQL Server 實例的相關信息。SQL Server 瀏覽器可用于執行下列操作:
- 瀏覽可用服務器列表
- 連接到正確的服務器實例
- 連接到專用管理員連接 (DAC) 端點
SQL Server : Browser服務(sqlbrowser) 為數據庫引擎和 SSAS 的每個實例提供實例名稱和版本號。SQL Server 瀏覽器隨 SQL Server 一起安裝,為該計算機上運行的早期版本的 SQL Server(從 SQL Server 7.0 開始)提供此服務。
SQL Server : Browser服務可以在安裝過程中進行配置,也可以使用 SQL Server 配置管理器進行配置。默認情況下,SQL Server Browser 服務會自動啟動:
- 升級安裝時。
- 與 SQL Server 2000 實例并行安裝時。
- 安裝在群集上時。
- 安裝 SQL Server Enterprise、Standard 或 Workgroup 的命名實例時。
- 安裝 Analysis Services 的命名實例時。
背景
在 SQL Server 2000 之前,一臺計算機上只能安裝一個 SQL Server 實例。SQL Server 偵聽 1433 端口傳入的請求,此端口由官方的 Internet 號碼分配機構 (IANA) 分配給 SQL Server。只有一個 SQL Server 實例可以使用端口,因此當 SQL Server 2000 引入對 SQL Server 多個實例的支持時,便開發了 SQL Server 解析協議 (SSRP),用于偵聽 UDP 1434 端口。此偵聽器服務用已安裝的實例的名稱以及實例使用的端口或命名管道來響應客戶端請求。為了解決 SSRP 系統的限制,SQL Server 2005 引入了 SQL Server Browser 服務來替換 SSRP。
SQL Server : Browser服務工作原理
啟動一個 SQL Server 實例后,如果為 SQL Server 啟用了 TCP/IP 或 VIA 協議,服務器將被分配一個 TCP/IP 端口。如果啟用了 Named Pipes 協議,SQL Server 將偵聽特定的命名管道。該特定實例將使用此端口(或“管道”)與客戶端應用程序交換數據。在安裝過程中,TCP 1433 端口和管道 \sql\query
將分配給默認實例,但服務器管理員可以隨后使用 SQL Server 配置管理器進行更改。由于只有一個 SQL Server 實例可以使用端口或管道,因此,會將不同的端口號和管道名稱分配給命名實例,包括 SQL Server Express。默認情況下,命名實例和 SQL Server Express 在啟用時便配置為使用動態端口,也就是說,當 SQL Server 啟動時就分配了可用端口。如果需要,可以為 SQL Server 實例分配特定端口。連接時,客戶端可以指定特定端口,但是如果端口是動態分配的,端口號可能會在重新啟動 SQL Server 時被更改,因此正確的端口號對于客戶端來說是不確定的。
啟動后,SQL Server : Browser服務將啟動并使用 UDP 1434 端口。SQL Server 瀏覽器將讀取注冊表,識別計算機上的所有 SQL Server 實例,并注明它們使用的端口和命名管道。當一臺服務器具有兩個或多個網卡時,SQL Server 瀏覽器會為 SQL Server 返回其遇到的第一個已啟用的端口。SQL Server 瀏覽器支持 ipv6 和 ipv4。
當 SQL Server 客戶端請求 SQL Server 資源時,客戶端網絡庫將使用 1434 端口向服務器發送一條 UDP 消息。SQL Server 瀏覽器將用請求的實例的 TCP/IP 端口或命名管道做出響應。然后,客戶端應用程序中的網絡庫將使用所需實例的端口或命名管道向服務器發送請求來完成連接。
如果一臺計算機上只有一個實例,且配置為靜態端口,則無需啟動Browser服務;
如果把服務停止了,沒有配置靜態端口,可能出現各種錯誤,例如:SQL SERVER – FIX : ERROR : (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: )
文章列表