作為一名DBA,經常會處理一些比較棘手的服務無響應問題,鑒於事態的嚴重性,多數DBA可能直接用“重啟”大法,以便盡快的恢復生產環境的正常運轉,但是多數情況下我們卻無法究其原因,即使產生了dump文件,沒有微軟的支持,我們同樣被蒙在鼓裡,幸好微軟給我們留了一條“後路”,供我們在SQL服務無法連接時,使用它連接並查看“病因”,那就是DAC, dedicated administrator connection,管理員專用連接。
有關管理員專用連接請查看:http://msdn.microsoft.com/zh-cn/library/ms189595.aspx
開啟遠程管理連接:該選項默認是關閉的,如果不開啟,只能在服務器本機進行連接,可以通過
select * from sys.configurations where name = 'remote admin connections'
進行查看,使用如下語句開啟
SP_CONFIGURE 'remote admin connections',1
GO
RECONFIGURE
GO
如何進行連接?
1、通過SQLCMD進行連接:
sqlcmd -S. -A
2、還可以將admin綁定到服務器前面:
sqlcmd -Sadmin:.
3、在sqlcmd中顯示結果總是很難查看,所以我比較喜歡選擇用查詢編輯器啟動:
首先斷開對象資源管理器中的所有連接,然後點擊新建查詢,輸入:admin:服務器名稱
4、進入SQL Server的後門後,我們就可以通過一些DMV等查看當前的進程都在干什麼,都在等待什麼,從而進一步分析判斷問題出在哪裡了。
建議生產環境開啟該選項,便於SQL Server無響應時排查問題。
查看本欄目