專用管理員連接 (Dedicated Administrator Connection, DAC) 是 SQL Server 2005 引入的特殊診斷連線,當標準連線因資源耗盡、鎖死或觸發器錯誤而無法建立時,DAC 仍可讓 sysadmin 角色成員連線執行診斷查詢、殺死阻塞進程、修復故障。
sys.dm_exec_requests、sys.dm_os_waiting_tasks)。KILL spid)。-m)。sqlcmd -S server_name -A # 使用 -A 開關
sqlcmd -S admin:server_name # 或使用 admin: 前綴
在「連線到伺服器」視窗的伺服器名稱輸入 ADMIN:instance_name(如 ADMIN:QIANGGUO\ODS)。
-d master 直接連 master。READ UNCOMMITTED 隔離級或設 LOCK_TIMEOUT。sp_configure 'remote admin connections', 1;
GO
RECONFIGURE;
GO
設定後立即生效,無需重啟。預設僅偵聽 127.0.0.1:1434。
-- 記憶體快取計數器
SELECT * FROM sys.dm_os_memory_cache_counters;
-- 正在執行的請求
SELECT * FROM sys.dm_exec_requests;
-- 所有會話
SELECT * FROM sys.dm_exec_sessions;
-- 結束會話
KILL ;
-- 查詢特定會話任務
SELECT * FROM sys.dm_os_tasks WHERE session_id = ;
| 錯誤代碼/訊息 | 解決方案 |
|---|---|
| HResult 0x274D,TCP 提供程式: 目標機器積極拒絕 | 檢查 SQL Server 遠程連線設定、防火牆、SQL Browser 服務。 |
| 不支援專用管理員連接 (ObjectExplorer) | 確認已執行 sp_configure 'remote admin connections', 1 且用戶為 sysadmin。 |
| 登錄超時 | 先用一般連線成功,再用 DAC;或檢查實例負載。 |
| 錯誤 10054:遠程主機強迫關閉連線 | 已有 DAC 連線佔用,先關閉現有會話。 |
SQL Server 2005 移除了 sp_configure 'allow updates', 1 直接修改系統表的能力。若必須修改系統目錄(極少數情況),步驟如下:
"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe" -madmin:InstanceName 使用 DAC 登入。allow updates)。警告:直接修改系統表極度危險,可能導致資料字典不一致、資料庫損壞。優先使用系統預存程序(如 sp_rename、sp_change_users_login)完成同等任務。