Sql-Server

為什麼 SQL Server 服務帳戶連接到 DAC?

  • April 10, 2019

我們開始收到警報:

無法連接,因為已存在最大數量的“1”個專用管理員連接。在建立新連接之前,必須通過註銷或結束程序來斷開現有的專用管理員連接。

$$ CLIENT: 127.0.0.1 $$

在 SQL 作業和保持表的幫助下,我們設法找出嘗試連接的是 SQL Server 服務帳戶,大約每 4 小時,例如 12:00 16:00 等等,程序名稱為:Net SqlClient Data提供者。我根據 jadarnel27 的建議添加了 host_process_id 列,確定了 PID,但任務管理器中沒有具有相同 PID 的程序。奇怪的是,日誌中沒有條目:“已建立專用管理員連接支持”,只有以下條目:

16:00:05使用者“sql 服務使用者”登錄成功。使用 Windows 身份驗證建立的連接。

$$ CLIENT: ip address of Windows Failover Cluster Virtual Adapter $$ 16:00:05無法連接,因為已存在最大數量的“1”專用管理員連接。在建立新連接之前,必須通過註銷或結束程序來斷開現有的專用管理員連接。

$$ CLIENT: 127.0.0.1 $$ 16:00:11專用管理員連接已斷開。這只是一條資訊性消息。無需使用者操作。

Windows 事件查看器日誌或 Windows 群集日誌中沒有任何線索。這只發生在 AlwaysOn 可用性組的活動節點上。沒有配置在這些時間執行的作業/埠掃描,也沒有任何其他任務。我看過 我們如何找到使用專用管理員連接的人,但我們知道哪個帳戶使用了 DAC,只是不明白為什麼。我們如何進一步解決問題?

編輯:我找到了問題的原因,它是一個為可用性組同步伺服器對象的 powershell 腳本,它被設置為在埠 1433 上執行,我不知道它為什麼試圖連接到 DAC,但是簡單的重啟已經解決了問題!非常感謝所有回复的人!

我認為這是埠/病毒掃描程序,您的安全團隊可能會使用它來查找漏洞,例如弱密碼。我有同樣的問題,最終我發現它是埠掃描器。

還要查看 Windows 事件日誌。

正如Kin在他的回答中提到的,這似乎是在 SQL Server 機器上本地執行的某種病毒掃描程序或埠掃描程序。特別是考慮到這些線索:

  • 來自兩個不同的本地 IP 地址

    • Windows 故障轉移群集虛擬適配器的 IP 地址
    • 經典的“localhost”IP 127.0.0.1
  • 登錄名與 SQL Server 服務帳戶相同

無論它是什麼,似乎都被配置為在與 SQL Server 服務相同的 Windows 帳戶下執行,這引起了一些混亂。

有了這些資訊,你還能做什麼?由於您已經登錄dm_exec_sessions到表以擷取此資訊,因此請確保您獲得了該host_process_id列。這應該是關於實際上是什麼過程建立這些聯繫的最大線索。然後查看任務管理器並找到具有相同PID的程序。

引用自:https://dba.stackexchange.com/questions/226508