可視化配置SQL Server 2005 Express的遠(yuǎn)程訪問(wèn)
作者:朱亦文 日期:2008.04.11
一、如何安裝SQL Server 2005 Express、MSXML6、SQL Server Management Studio Express,以及配置SQL Server 2005 Express的身份驗(yàn)證方式,以及如何啟用sa登錄名。 二、配置SQL Server 2005 Express,以實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),即局域網(wǎng)中訪問(wèn)SQL Server 2005 Express。 三、保證服務(wù)器的安全,如何配置防火墻以使其他網(wǎng)絡(luò)用戶能訪問(wèn)SQL Server 2005 Express。
正 文: 默認(rèn)情況下,SQL Server 2005 Express Edition、Evaluation Edition 和 Developer Edition 只允許本地客戶端連接(當(dāng)然包括默認(rèn)安裝的VS2008、VS2005、Express Web、VWD2005、VWD2008所附帶的SQL Server 2005 Express)。Enterprise Edition(企業(yè)版)、Standard Edition(標(biāo)準(zhǔn)版) 和 Workgroup Edition(工作組版) 還可偵聽(tīng) TCP/IP 上的遠(yuǎn)程客戶端連接。 由于,SQL Server 2005 Express Edition是可以免費(fèi)分發(fā)的,它的安裝包分為兩種:“SQL Server 2005 Express Edition SP2”和“具有高級(jí)服務(wù)的 SQL Server 2005 Express Edition SP2”,其下載位置:http://msdn2.microsoft.com/zh-cn/express/bb410792.aspx。為了可視化管理,Microsoft還提供了“SQL Server Management Studio Express”,本文就是基于這個(gè)管理工具編寫(xiě)的教程,該管理工具的下載鏈接:http://msdn2.microsoft.com/zh-cn/express/bb410792.aspx。 一、安裝SQL Server 2005 Express Edition SP2、Microsoft XML Core Services 6.0 和 Microsoft XML Core Services 6.0 Service Pack 1 安全更新程序 (KB933579)和SQL Server Management Studio Express Edition 從上述下載地址下載:SQL Server 2005 Express Edition SP2(SQLEXPR32_CHS.EXE,40.6 MB)和SQL Server Management Studio Express(SQLServer2005_SSMSEE.msi,44.7 MB) 1、運(yùn)行SQLEXPR32_CHS.EXE
 在安裝SQL Server 2005 Express Edition SP2的最后,安裝程序會(huì)給出一個(gè)安裝總結(jié),強(qiáng)烈建議大家閱讀,它會(huì)告訴我們很多的信息,不要輕易放過(guò)。下面,我將其對(duì)我們用的配置信息摘錄如下:
- 配置和管理 SQL Server Express
為提高可管理性和安全性,SQL Server 2005 對(duì)系統(tǒng)上的 SQL Server 外圍應(yīng)用進(jìn)行了更嚴(yán)格的控制。若要使外圍應(yīng)用最小化,請(qǐng)將以下默認(rèn)配置應(yīng)用于 SQL Server 實(shí)例:
- 禁用 TCP/IP 連接
- 禁用 Named Pipes
- 必須手動(dòng)啟動(dòng) SQL Browser
- 禁用 OPENROWSET 和 OPENDATASOURCE
- 禁用 CLR 集成
- 禁用 OLE 自動(dòng)化
- 禁用 xp_cmdshell
若要啟用或禁用功能和服務(wù),請(qǐng)運(yùn)行“開(kāi)始”菜單中的“SQL Server 外圍應(yīng)用配置器”工具。
安裝完后,我們可以看到如下的開(kāi)始菜單項(xiàng):

它包含三個(gè)配置工具,我們今天等下要用到“SQL Server配置管理器”和“SQL Server外圍應(yīng)用配置器”。
2、運(yùn)行SQLServer2005_SSMSEE.msi 為了便于管理,我們安裝SQL Server Management Studio Express Edition。

安裝 SQL Server Management Studio Express 之前,必須先安裝 MSXML 6.0。下載其中文版,安裝之。 注意必須安裝2007年8月14日的Microsoft XML Core Services 6.0 和 Microsoft XML Core Services 6.0 Service Pack 1 安全更新程序 (KB933579),否則不能正常安裝SQL Server Management Studio Express,其下載地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=70c92e77-9e5a-41b1-a9d2-64443913c976

有了它才能正常安裝SQL Server Management Studio Express。

二、配置SA 在默認(rèn)情況下,SQL Server 2005 Express是采用集成的Windows安全驗(yàn)證且禁用了sa登錄名。為了工作組環(huán)境下不使用不方便的Windows集成安全驗(yàn)證,我們要啟用SQL Server 2005 Express的混合安全驗(yàn)證,也就是說(shuō)由SQL Server來(lái)驗(yàn)證用戶而不是由Windows來(lái)驗(yàn)證用戶。
1、使用SQL Server Management Studio Express。

當(dāng)我們啟動(dòng)SQL Server Management Studio Express時(shí),首先它要連接到我們的SQL Server 2005 Express,我們?cè)诎惭bSQL Server 2005 Express時(shí),默認(rèn)的實(shí)例為SQLExpress,服務(wù)器名稱的組成為:機(jī)器名\實(shí)例名,因此,本例的服務(wù)名稱為W2K3-C\SQLEXPRESS(注:安裝SQL Server 2005 Express的機(jī)器名為W2K3-C)。第一次使用SQL Server Management Studio Express,由于我們必須采用Windows身份驗(yàn)證,這是默認(rèn)安裝時(shí)決定的。
a) 設(shè)置SQL Server 2005 Express的身份驗(yàn)證方式



b) 設(shè)置sa的密碼并啟用sa登錄名


由于我們不知道sa的密碼,所以我們須設(shè)置一個(gè)!
三、配置遠(yuǎn)程訪問(wèn) 在上一節(jié)我們講了如何安裝SQL Server 2005 Express、MSXML6、SQL Server Management Studio Express,以及配置SQL Server 2005 Express的身份驗(yàn)證方式,以及如何啟用sa登錄名。但是,網(wǎng)絡(luò)中間的其他用戶還是訪問(wèn)不了我們的SQL Server 2005 Express。 下面我們接著講如何讓SQL Server 2005 Express能夠被遠(yuǎn)程訪問(wèn),也就是說(shuō),如何在局域網(wǎng)中訪問(wèn)SQL Server 2005 Express。 在一節(jié),我們可以看到安裝完SQL Server 2005 Express后,安裝程序最后給了我們?nèi)缦滦畔ⅲ?BR>禁用 TCP/IP 連接 禁用 Named Pipes 必須手動(dòng)啟動(dòng) SQL Browser 而這些都是我們實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)要啟用的,我們必須開(kāi)啟它們才能實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)。 1. 配置服務(wù) 在開(kāi)始菜單上我們打開(kāi)SQL Server 2005的配置工具“SQL Server 外圍應(yīng)用配置器”。

在進(jìn)入“服務(wù)和連接的外圍應(yīng)用配置器”對(duì)話框以后,我們首先選擇左側(cè)的“遠(yuǎn)程連接”,在右側(cè)我們選擇“本地連接和遠(yuǎn)程連接”,選擇“同時(shí)使用TCP/IP和named pipes”。當(dāng)然,你如果只想使用TCP/IP連接SQL Server 2005 Express的話,你可以選擇“僅TCP/IP”。

為了能夠訪問(wèn)到SQL Server 2005 Express,我們必須啟用SQL Server Browser,以使服務(wù)器端口或Named Pipe信息傳達(dá)到客戶端,如果不啟用該服務(wù),客戶端是連接不到SQL Server 2005 Express服務(wù)器的。

當(dāng)設(shè)置完成后,我們點(diǎn)擊“確定”按鈕以保存配置信息(注:如果是點(diǎn)的窗口上關(guān)閉按鈕,配置信息是不會(huì)保存的),這時(shí),配置程序提示我們必須重新啟動(dòng)。

2. 重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)和SQL Server Browser服務(wù) 點(diǎn)擊“控制面板-管理工具-服務(wù)”,打開(kāi)“服務(wù)”窗口。


3. 驗(yàn)證遠(yuǎn)程訪問(wèn) 從局域網(wǎng)上的另一臺(tái)機(jī)器上訪問(wèn)這個(gè)SQL Server 2005 Express。我們把上一節(jié)配置的數(shù)據(jù)鏈接文件TestSQL.UDL復(fù)制到網(wǎng)絡(luò)上的另一臺(tái)機(jī)器的桌面上,雙擊打開(kāi)這個(gè)文件,點(diǎn)擊“測(cè)試連接”,成功!

注:安裝了SQL Server 2005 Express的W2K3-C的防火墻是關(guān)閉的,它的IP地址:192.168.35.128。 四、配置Windows防火墻 上一節(jié),我們講了安裝了SQL Server 2005 Express的W2K3-C這臺(tái)機(jī)器的防火墻是關(guān)閉的,當(dāng)我們?cè)谶@臺(tái)機(jī)器上打開(kāi)Windows防火墻以后,網(wǎng)絡(luò)中的另一臺(tái)就無(wú)法訪問(wèn)這個(gè)SQL Server 2005 Express了。 1、Windows防火墻配置的關(guān)鍵 防火墻的本質(zhì)就是控制TCP/IP不同端口在網(wǎng)絡(luò)上通訊,一個(gè)端口代表一類通訊,就像電視頻道一樣,如果,電視臺(tái)不轉(zhuǎn)播某個(gè)頻道,你就無(wú)法接收到這個(gè)頻道的電視節(jié)目。防火墻就類似電視臺(tái),它可以控制本機(jī)與網(wǎng)絡(luò)的各種通訊。 在一般的資料介紹中,SQL Server有兩個(gè)端口與網(wǎng)絡(luò)通訊:1433(TCP)和1434(UDP),可是奇怪的是光這樣我們還是無(wú)法從網(wǎng)絡(luò)上的另外的機(jī)器上訪問(wèn)這個(gè)SQL Server 2005 Express,不管你的數(shù)據(jù)源是192.168.35.128\SQLEXPRESS還是W2K3-C\SQLEXPRESS,結(jié)果都是一樣,無(wú)法通過(guò)數(shù)據(jù)鏈接測(cè)試。為此,我做了很多的試驗(yàn),最終確定防火墻還必須放開(kāi)對(duì)應(yīng)用程序的控制,也就是SQL Server服務(wù)應(yīng)用程序,它的程序文件為sqlservr.exe。通過(guò)這樣的防火墻配置,我們終于可以從網(wǎng)絡(luò)上另一臺(tái)機(jī)器上訪問(wèn)這個(gè)SQL Server 2005 Express數(shù)據(jù)庫(kù)服務(wù)器了。 防火墻配置總結(jié),必須打開(kāi):
- a、1433(TCP)端口(必須)
- b、1434(UDP)端口(必須)
- c、SQLSERVR.EXE應(yīng)用程序(必須)
- d、文件與打印機(jī)共享(可選)
2、實(shí)踐操作(以Windows XP SP2、Windows Server 2003 SP1為例) a) 打開(kāi)防火墻設(shè)置 點(diǎn)擊“控制面板-網(wǎng)絡(luò)連接-本地連接”,打開(kāi)“本地連接狀態(tài)”對(duì)話框,也許你的不是“本地連接”,可能是“本地連接2”,亦或是其它,總之只要是網(wǎng)絡(luò)連接就行。接下來(lái),點(diǎn)擊“屬性”按鈕。

打開(kāi)“本地連接屬性”對(duì)話框,點(diǎn)擊“高級(jí)”選項(xiàng)卡,并點(diǎn)擊“設(shè)置”,進(jìn)入Windows防火墻設(shè)置。

b) 啟用Windows防火墻

c) 設(shè)置端口和應(yīng)用程序 打開(kāi)“Windows防火墻”對(duì)話框,在“常規(guī)”選項(xiàng)卡中選擇“啟用”。然后,點(diǎn)擊“例外”選項(xiàng)卡,進(jìn)入防火墻的例外的設(shè)置,也就是我們常?吹交蛘呗(tīng)到的“打開(kāi)某某端口”。

在這里,我們可以在例外中添加應(yīng)用程序或服務(wù)、端口,也就是對(duì)網(wǎng)絡(luò)公布這些應(yīng)用程序或服務(wù)、端口。 我們先來(lái)添加1433端口。點(diǎn)擊“添加端口”。

在輸入完數(shù)據(jù)后,點(diǎn)擊“確定”,保存設(shè)置。 使用同樣的方法,添加1434端口: 名稱:SQL Server - 1434 端口號(hào):1434 協(xié)議:UDP
添加SQL Server 2005 Express服務(wù)應(yīng)用程序sqlservr.exe。 在“Windows防火墻”對(duì)話框中,點(diǎn)擊“添加程序”打開(kāi)“添加程序”對(duì)話框,我們?cè)诔绦蛄斜碇胁](méi)有發(fā)現(xiàn)我們想要放開(kāi)的應(yīng)用程序。我們必須自行添加。

點(diǎn)擊“瀏覽”按鈕,如下圖,找到SQL Server 2005 Express實(shí)例的安裝位置,本文所述的SQL Server 2005 Express的SQLExpress實(shí)例安裝在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn,在這個(gè)文件夾中選擇sqlservr.exe應(yīng)用程序文件。點(diǎn)擊“打開(kāi)”按鈕。

這時(shí)我們?cè)凇疤砑映绦颉睂?duì)話框中的程序列表可以看到“sqlservr.exe”,選擇它,然后點(diǎn)擊“確定”按鈕,保存設(shè)置。

經(jīng)過(guò)這些步驟后,我們可以在“Windows防火墻”對(duì)話框中看到我們想要放開(kāi)的端口和應(yīng)用程序的列表:

請(qǐng)注意,一定要在要放開(kāi)的端口或應(yīng)用程序、服務(wù)中打上鉤,否則并不會(huì)打開(kāi)這些端口或應(yīng)用程序、服務(wù)。 本例,勾選:
- a) SQL Server - 1433
- b) SQL Server - 1434
- c) sqlservr.exe
- d) 文件和打印機(jī)共享
前三項(xiàng)是必須的,最后一項(xiàng)為了數(shù)據(jù)源采用“機(jī)器名\實(shí)例名”方式訪問(wèn),如果不選擇這一項(xiàng),只能采用“IP地址\實(shí)例”方式訪問(wèn)。 最后,一定要點(diǎn)“確定”按鈕關(guān)閉“Windows防火墻”對(duì)話框,按“確定”關(guān)閉“本地連接屬性”對(duì)話框。 注:如果不是用“確定”關(guān)閉對(duì)話框而是用窗口上的關(guān)閉按鈕關(guān)閉對(duì)話框,那么一切都是“楊白勞”。 至此Windows防火墻配置完畢,建議重新啟動(dòng)一次系統(tǒng)后再測(cè)試。
3. 驗(yàn)證 在網(wǎng)絡(luò)上的另一臺(tái)機(jī)器上運(yùn)行TestSQL.UDL文件,點(diǎn)擊“測(cè)試鏈接”,成功!
五、思考題 如果只想SQL Server 2005 Express服務(wù)于本地網(wǎng)絡(luò),如何設(shè)置防火墻?
本文內(nèi)容由 zhuyiwen 提供
|