教你使用SQL Server數(shù)據(jù)庫(kù)進(jìn)行網(wǎng)絡(luò)鏈接
有些 SQL Server 2000 Personal Edition 實(shí)例和 SQL Server 2000 Desktop Engine(也稱(chēng)為 MSDE 2000)實(shí)例可能會(huì)作為本地?cái)?shù)據(jù)存儲(chǔ)運(yùn)行,僅由運(yùn)行在同一計(jì)算機(jī)上的應(yīng)用程序使用。如果從未向這些 MSDE 2000 實(shí)例進(jìn)行過(guò)網(wǎng)絡(luò)連接,則這些實(shí)例不需要網(wǎng)絡(luò)支持,此時(shí)關(guān)閉那些不需要的資源是一個(gè)明智的選擇。
如果使用SQL Server 2005
有關(guān) SQL Server 2000 的概念和討論同樣適用于 SQL Server 2005 和 SQL Server Express。
每一個(gè) SQL Server 2000 實(shí)例或 MSDE 2000 實(shí)例都可以配置為偵聽(tīng)一組特定的網(wǎng)絡(luò)協(xié)議和地址。如果某一實(shí)例不需要網(wǎng)絡(luò)連接,則關(guān)閉不用的網(wǎng)絡(luò)支持可減少該實(shí)例的安全依賴(lài)性。您可以通過(guò)將該實(shí)例配置為不偵聽(tīng)任何網(wǎng)絡(luò)協(xié)議來(lái)做到這一點(diǎn)。一般來(lái)說(shuō),您只應(yīng)對(duì)作為本地?cái)?shù)據(jù)存儲(chǔ)運(yùn)行的 SQL Server 2000 版本進(jìn)行這樣的配置:
• SQL Server 2000 Personal Edition
• SQL Server 2000 Desktop Engine (MSDE 2000)
將一個(gè) SQL Server 實(shí)例配置為不偵聽(tīng)網(wǎng)絡(luò)協(xié)議后,同一計(jì)算機(jī)上的所有應(yīng)用程序都將使用共享的內(nèi)存網(wǎng)絡(luò)庫(kù)與之進(jìn)行通信。
關(guān)閉網(wǎng)絡(luò)協(xié)議支持并不意味著網(wǎng)絡(luò)協(xié)議具有固有的不安全性。任何時(shí)候某一程序訪問(wèn)一項(xiàng)外部資源時(shí),該程序都要獲取有關(guān)此外部資源安全性的依賴(lài)項(xiàng),即使此外部資源非常安全也是如此。通過(guò)關(guān)閉不使用的資源,該程序就可以減少其安全依賴(lài)項(xiàng)。
注意:對(duì)該實(shí)例的所有管理都必須在它所運(yùn)行的計(jì)算機(jī)上完成。
當(dāng) SQL Server 2000 SP3a 或 MSDE 2000 SP3a 的實(shí)例被配置為不偵聽(tīng)任何網(wǎng)絡(luò)協(xié)議時(shí),它們將停止在 UDP 端口 1434 上的偵聽(tīng)。SQL Server 2000 或 MSDE 2000 的早期版本不管配置如何,總是要偵聽(tīng) UDP 1434。
如果該實(shí)例在“Windows 身份驗(yàn)證”模式下運(yùn)行,則此計(jì)算機(jī)上的 Windows 帳戶(hù)之一必須是 SQL Server sysadmin 固定服務(wù)器角色的一個(gè)成員。如果該實(shí)例以混合模式運(yùn)行,管理員可以使用 sa 帳戶(hù)或 SQL Server sysadmin 固定服務(wù)器角色中的一個(gè) Windows 帳戶(hù)進(jìn)行登錄。
要使用“SQL Server 2000 服務(wù)器網(wǎng)絡(luò)”實(shí)用工具將一個(gè)現(xiàn)有的 SQL Server 2000 或 MSDE 2000 實(shí)例配置為不偵聽(tīng)網(wǎng)絡(luò)連接,請(qǐng)按照下列步驟操作:
1. 如果在計(jì)算機(jī)上安裝了 SQL Server 客戶(hù)端工具,請(qǐng)打開(kāi) Microsoft SQL Server 程序組,然后啟動(dòng)“服務(wù)器網(wǎng)絡(luò)”實(shí)用工具。如果未安裝 SQL Server 客戶(hù)端實(shí)用工具,請(qǐng)運(yùn)行 SQL Server ToolsBinn 文件夾中的 Svrnetcn.exe 文件。通常情況下,不在計(jì)算機(jī)上安裝 SQL Server 客戶(hù)端實(shí)用工具的原因是:該計(jì)算機(jī)只運(yùn)行 MSDE 2000 實(shí)例,而這些實(shí)例不向用戶(hù)提供使用 SQL Server 客戶(hù)端實(shí)用工具的許可。
2. 在“常規(guī)”選項(xiàng)卡上,選擇“此計(jì)算機(jī)上的實(shí)例”列表框中的 SQL Server 實(shí)例的名稱(chēng)。單擊默認(rèn)實(shí)例的“服務(wù)器名”以將其選中,或?yàn)槿魏沃付ǖ膶?shí)例選擇“服務(wù)器名/實(shí)例名”。
3. 要將 SQL Server 的實(shí)例限制為只允許本地連接,請(qǐng)單擊“禁用”,直到“啟用的協(xié)議”列表中不再列出任何協(xié)議。如果您需要在以后更改此設(shè)置以允許遠(yuǎn)程連接,請(qǐng)逆向執(zhí)行此過(guò)程并啟用一個(gè)或多個(gè)協(xié)議。
4. 單擊“確定”。
5. 重新啟動(dòng) SQL Server 實(shí)例,以使所做更改生效。
對(duì)于一個(gè)當(dāng)前配置為不支持網(wǎng)絡(luò)連接的SQL Server 2000 實(shí)例,您可以使用“SQL Server 2000 服務(wù)器網(wǎng)絡(luò)”實(shí)用工具來(lái)啟用到它的網(wǎng)絡(luò)連接。
DISABLENETWORKPROTOCOLS 開(kāi)關(guān)
SQL Server 2000 Desktop Engine (MSDE 2000) Service Pack 3 安裝程序引入了一個(gè)新的 DISABLENETWORKPROTOCOLS 開(kāi)關(guān),您可以用它來(lái)安裝一個(gè)新的未啟用任何網(wǎng)絡(luò)連接的 MSDE 2000 實(shí)例。
對(duì)于SP3,此開(kāi)關(guān)的行為是:如果未指定 DISABLENETWORKPROTOCOLS,該實(shí)例將安裝為啟用網(wǎng)絡(luò)協(xié)議連接。如果您指定 DISABLENETWORKPROTOCOLS=1,將不為該實(shí)例啟用任何網(wǎng)絡(luò)協(xié)議。
在SP3a 中,對(duì) DISABLENETWORKPROTOCOLS 的行為有兩處更改:
• 安裝 SP3a 的新實(shí)例時(shí)的默認(rèn)行為是禁用網(wǎng)絡(luò)協(xié)議支持,從而使該實(shí)例在默認(rèn)情況下更加安全。
• 當(dāng)升級(jí)現(xiàn)有 MSDE 2000 實(shí)例時(shí),您可以指定關(guān)閉網(wǎng)絡(luò)協(xié)議支持。
下面的表描述了此行為:
MSDE 2000 SP3a 的全新安裝:
當(dāng)前設(shè)置 用戶(hù)指定的網(wǎng)絡(luò)協(xié)議設(shè)置 網(wǎng)絡(luò)協(xié)議結(jié)果 無(wú);;;;禁用禁用 無(wú);;;;啟用啟用 無(wú);;;;沒(méi)有用戶(hù)指定的設(shè)置;;禁用
升級(jí)到 MSDE 2000 SP3a:
當(dāng)前設(shè)置 用戶(hù)指定的網(wǎng)絡(luò)協(xié)議設(shè)置 網(wǎng)絡(luò)協(xié)議結(jié)果 禁用;;禁用禁用 禁用;;啟用啟用 禁用;;沒(méi)有用戶(hù)指定的設(shè)置;;禁用 啟用;;啟用啟用 啟用;;禁用禁用 啟用;;沒(méi)有用戶(hù)指定的設(shè)置;;啟用
注意:在您使用 “/?” 開(kāi)關(guān)運(yùn)行 MSDE 2000 setup.exe 以列出其支持的開(kāi)關(guān)時(shí),/DISABLENETWORKPROTOCOLS 開(kāi)關(guān)不會(huì)列出。
