Sql server DAC連接的問(wèn)題
Sql server DAC連接相信對(duì)于很多剛剛接觸Sql server數(shù)據(jù)庫(kù)的新人來(lái)說(shuō)還比較陌生,下面就為您詳細(xì)介紹Sql server DAC連接,供您參考學(xué)習(xí)。
Sql server DAC連接是數(shù)據(jù)庫(kù)管理員的專用連接。主要就是說(shuō)一下在連接的時(shí)候的一點(diǎn)小問(wèn)題,可能別人沒(méi)碰到,反正我是碰到了。
Sql server DAC連接的端口由SQL Server在啟動(dòng)時(shí)動(dòng)態(tài)分配。當(dāng)連接到默認(rèn)實(shí)例時(shí),DAC會(huì)避免在連接時(shí)對(duì) SQL Server Browser 服務(wù)使用 SQL Server 解決協(xié)議 (SSRP) 請(qǐng)求。它先通過(guò) TCP 端口 1434 進(jìn)行連接。如果失敗,則通過(guò) SSRP 調(diào)用來(lái)獲取端口。如果 SQL Server 瀏覽器沒(méi)有偵聽(tīng) SSRP 請(qǐng)求,則連接請(qǐng)求將返回錯(cuò)誤。若要了解DAC所偵聽(tīng)的端口號(hào),請(qǐng)參閱錯(cuò)誤日志。如果將 SQL Server 配置為接受遠(yuǎn)程管理連接,則必須使用顯式端口號(hào)啟動(dòng) DAC:
sqlcmd –Stcp:<server>,<port>
SQL Server 錯(cuò)誤日志列出了Sql server DAC端口,默認(rèn)情況下為 1434。如果將 SQL Server 配置為只接受本地DAC連接,請(qǐng)使用以下命令和環(huán)回適配器進(jìn)行連接:
sqlcmd –S127.0.0.1,1434
SQL SERVER會(huì)單獨(dú)為管理連接單獨(dú)監(jiān)聽(tīng)一個(gè)端口,這個(gè)端口不是在sql server配置管理器協(xié)議中看到的那個(gè)動(dòng)態(tài)端口,要在管理中的事件查看器中的應(yīng)用程序中看到相應(yīng)的日志,其內(nèi)容是:已建立專用管理員連接支持,以 在端口xxxx進(jìn)行遠(yuǎn)程(本地)偵聽(tīng)。這里的xxxx就是DAC連接專用端口了。
遠(yuǎn)程的DAC連接就沒(méi)什么好說(shuō)的了,可以這樣,如果用sqlcmd的話:
sqlcmd -Sserver,dacport就行了,但如果使用-A參數(shù)的話則必須打開(kāi)sql server browser(sql server瀏覽器)這個(gè)服務(wù),而且不能在服務(wù)器名中加端口號(hào),不然它報(bào)什么不允許遠(yuǎn)程連接一類的錯(cuò)誤。但是當(dāng)不允許遠(yuǎn)程DAC連接的時(shí)候,其實(shí)上面那段話也已經(jīng)寫的很清楚了,如果要用加端口號(hào)的方式來(lái)連的話,再?gòu)?qiáng)調(diào)一下,服務(wù)器地址必須用127.0.0.1,用別的就會(huì)被認(rèn)為是遠(yuǎn)程連接而不允許,如果用-A參數(shù)的話,配置也是要和允許遠(yuǎn)程DAC連接的時(shí)候是一樣的,不加端口號(hào),打開(kāi)sql serverbrowser服務(wù)。
另外,默認(rèn)的情況下,dac連接不允許遠(yuǎn)程連接的,執(zhí)行如下sql語(yǔ)句就可以遠(yuǎn)程進(jìn)行dac連接了。
sp_configure 'remote admin connections', 1;
GO
RECONFIGURE;
GO
另外還有一點(diǎn)要說(shuō)的,就是在sql server management studio中使用dac連接的時(shí)候,要選擇新建查詢或者數(shù)據(jù)庫(kù)引擎查詢,不能使用一上來(lái)默認(rèn)的那個(gè)登錄框進(jìn)行dac連接登錄,那個(gè)是連接數(shù)據(jù)庫(kù)引擎的,如果用DAC連數(shù)據(jù)庫(kù)引擎,會(huì)報(bào)不支持dac連接。
【編輯推薦】