Sql-Server

SQL Server Management Studio DAC 連接錯誤

  • August 22, 2019

我正在嘗試使用 Management Studio 通過 DAC 連接到 SQL Server 2012。我輸入 admin: 在我的伺服器名稱之前,但我不斷收到相同的錯誤:

建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。(提供者:TCP 提供者,錯誤:0 - 遠端電腦拒絕網路連接。)(Microsoft SQL Server,錯誤:1225)

我檢查過的內容:

  • 使用正常連接(非 DAC)時我可以毫無問題地登錄
  • 強制 tcp 時我也可以登錄:在連接字元串中
  • 使用者是系統管理員 (sa)
  • 我正在從本地伺服器(物理 sql 機器)登錄
  • SQL Server 瀏覽器已啟用
  • 遠端連接已啟用,防火牆已禁用
  • regedit 中的 TcpDynamicPorts 設置為 59036
  • 我已經執行了這個:
exec sp_configure 'show advanced options', 1  
RECONFIGURE WITH OVERRIDE  
exec sp_configure 'remote admin connections', 1  
RECONFIGURE WITH OVERRIDE  

到目前為止,沒有什麼能幫助我。

regedit 中的 TcpDynamicPorts 設置為 59036

您的實例已命名並配置為使用動態埠。預設實例在 1433 上偵聽所有連接,在 1434 上偵聽 DAC,您的 DAC 埠仍然未知,但您可以在錯誤日誌中找到它:

xp_readerrorlog 0,1,N'Dedicated admin connection'

然後您需要檢查它是否在您的防火牆中打開,您可以直接指定此埠進行連接:

myPCname,port

由於您已經在 SQL Server 的本地電腦上,因此無需配置exec sp_configure 'remote admin connections', 1. 僅從本地伺服器獲得 DAC 是一種安全方面的良好做法。

但是,請嘗試以下建立 DAC 連接:

  1. 驗證 DAC 在本地偵聽的埠號(如 @sepupic 所述)。消息應該看起來像

為在埠上偵聽 lcoally 建立了專用的管理員連接支持

  1. 可能,您會在步驟 1 中找到動態埠,在這種情況下,使用 SSMS 中的 ServerName 作為ADMIN:localhost\InstanceName
  2. 我更喜歡通過 連接 DAC SQLCMD,您可以嘗試如下

SQLCMD -S "Localhost,xxxx" -U Login -P yourpassword -A

SQLCMD -S "Localhost\InstanceName" -U Login -P yourpassword -A 4. 如果您正在嘗試SQL Express,請先設置以下跟踪

DBCC TRACEON (7806, -1)

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