對(duì)SQL Server 瀏覽器的實(shí)際工作原理描述
以下的文章主要向大家描述的是SQL Server 瀏覽器的實(shí)際工作原理,我們大家都知道SQL Server Browser 作為 Windows 操作系統(tǒng)的服務(wù)在服務(wù)器上運(yùn)行。SQL Server Browser 偵聽對(duì) SQL Server 資源的傳入請(qǐng)求,并提供計(jì)算機(jī)上安裝的 SQL Server 實(shí)例的相關(guān)信息。
SQL Server Browser 可用于執(zhí)行下列三種操作:
瀏覽可用服務(wù)器
連接到正確的服務(wù)器實(shí)例
連接到專用管理員連接 (DAC) 端點(diǎn)
SQL Server Browser 服務(wù) (sqlbrowser) 為數(shù)據(jù)庫(kù)引擎的每個(gè)實(shí)例提供實(shí)例名稱和版本號(hào)。SQL Server Browser 隨 SQL Server 2005 一起安裝,為該計(jì)算機(jī)上運(yùn)行的早期版本的 SQL Server(從 SQL Server 7.0 開始)提供幫助。
默認(rèn)情況下,不為 SQL Server Express 啟用 SQL Server Browser 服務(wù)。SQL Server Browser 可以使用外圍應(yīng)用配置器工具進(jìn)行初始配置,并使用 SQL Server 配置管理器進(jìn)行管理。
背景
在 SQL Server 2000 之前,一臺(tái)計(jì)算機(jī)上只能安裝一個(gè) SQL Server 實(shí)例。SQL Server 偵聽 1433 端口傳入的請(qǐng)求,此端口由官方的 Internet 號(hào)碼分配機(jī)構(gòu) (IANA) 分配給 SQL Server。只有一個(gè) SQL Server 實(shí)例可以使用端口,因此當(dāng) SQL Server 2000 引入對(duì) SQL Server 多個(gè)實(shí)例的支持時(shí),便開發(fā)了 SQL Server 解析協(xié)議 (SSRP),用于偵聽 1434 端口。此偵聽器服務(wù)用已安裝的實(shí)例的名稱以及實(shí)例使用的端口或命名管道來響應(yīng)客戶端請(qǐng)求。
為解決 SSRP 系統(tǒng)的限制,SQL Server 2005 提供了 SQL Server Browser 服務(wù)來替代 SSRP。
SQL Server 瀏覽器工作原理
啟動(dòng)一個(gè) SQL Server 實(shí)例后,如果為 SQL Server 啟用了 TCP/IP 或 VIA 協(xié)議,服務(wù)器將被分配一個(gè) TCP/IP 端口。如果啟用了命名管道協(xié)議,SQL Server 將偵聽特定的命名管道。該特定實(shí)例將使用此端口或管道與客戶端應(yīng)用程序交換數(shù)據(jù)。
在安裝過程中,1433 端口和管道 sqlquery 將分配給默認(rèn)實(shí)例,但服務(wù)器管理員可以隨后使用 SQL Server 配置管理器進(jìn)行更改。由于只有一個(gè) SQL Server 實(shí)例可以使用端口或管道,因此,會(huì)將不同的端口號(hào)和管道名稱分配給命名實(shí)例,包括 SQL Server Express。
默認(rèn)情況下,命名實(shí)例被配置為使用動(dòng)態(tài)端口,因此在啟動(dòng) SQL Server 時(shí)分配可用的端口??梢詾?SQL Server 實(shí)例分配特定端口。連接時(shí),客戶端可以指定所需端口。但是如果端口是動(dòng)態(tài)分配的,端口號(hào)可能會(huì)在重新啟動(dòng) SQL Server 時(shí)被更改,因此正確的端口號(hào)對(duì)于客戶端來說是不確定的。
啟動(dòng)后,SQL Server Browser 將啟動(dòng)并使用 UDP 1434 端口。SQL Server Browser 將讀取注冊(cè)表,識(shí)別計(jì)算機(jī)上的所有 SQL Server 實(shí)例,并注明它們使用的端口和命名管道。當(dāng)一臺(tái)服務(wù)器具有兩個(gè)或多個(gè)網(wǎng)卡時(shí),SQL Server Browser 會(huì)為 SQL Server 返回啟用的所有端口。SQL Server 2005 和 SQL Server Browser 支持 ipv6 和 ipv4。
如果 SQL Server 2000 和 SQL Server 2005 客戶端請(qǐng)求 SQL Server 資源,客戶端網(wǎng)絡(luò)庫(kù)將使用 1434 端口向服務(wù)器發(fā)送一條 UDP 消息。SQL Server Browser 將用請(qǐng)求的實(shí)例的 TCP/IP 端口或命名管道做出響應(yīng)。然后,客戶端應(yīng)用程序中的網(wǎng)絡(luò)庫(kù)將使用所需實(shí)例的端口或命名管道向服務(wù)器發(fā)送請(qǐng)求來完成連接。
以上的相關(guān)內(nèi)容就是對(duì)SQL Server 瀏覽器的工作原理的介紹,望你能有所收獲。
【編輯推薦】