Sql-Server-2012
SSMS 無法通過 Windows 身份驗證通過 IP 連接遠端伺服器
我正在嘗試
IP,port
通過 Windows 身份驗證連接遠端伺服器。它將以以下錯誤結束
連接超時已過期。嘗試使用登錄前握手確認時超時時間已過。這可能是因為登錄前握手失敗或伺服器無法及時響應。嘗試連接到此伺服器所花費的持續時間是 -
$$ Pre-Login $$初始化=41306;握手=27677;(Microsoft SQL Server,錯誤:-2)
但是,如果連接到
IP,port
但sa
通過 SQL Server 身份驗證登錄,那麼我可以正確連接到伺服器。此外,如果我切換到
MachineName,port
並通過 Windows 身份驗證登錄,那麼我也可以成功連接。不知道我需要什麼樣的設置/調整才能使這個案例工作。
環境
- 我的筆記型電腦是 Win10,SQL Server 2012 在 Windows server 2012 R2 上
- 這兩台機器在同一個域中。
- 我們正在使用另一個埠而不是預設的 1433。
我試過的情況
IP,port
通過 Windows 身份驗證遠端- 失敗MachineName,port
通過 Windows 身份驗證遠端- 成功- 遠端
IP,port
通過 SQL Server 身份驗證(sa 帳戶) - 成功IP\MSSQLSERVER,port
通過 Windows 身份驗證遠端- 失敗IP,port
RDP 遠端然後通過 Windows 身份驗證使用 ssms - 成功我試過的設置
- 將 SQL Server exe 添加到入站規則
- 啟動 SQL Server 瀏覽器
- 將 IP1 更改為我正在使用的 IPv4 並啟動/啟用它(也重新啟動服務)
- 確保在 MSSQLSERVER 和客戶端協議(/32 位)的協議上啟用 TCP/IP
- 將我正在使用的埠添加到 IPAll/TCP 埠並將動態埠保留為空白
所以事實證明超時實際上是超時……在我將連接超時時間延長到 90 秒後,它在大約一分鐘後連接。
基礎設施人員說這可能是因為它試圖解析機器名稱或其他東西?(我不太熟悉網路和設置的東西)。如果他們想出任何方法來加快這個過程,我會更新這個答案。
案例編號 4 (
IP\MSSQLSERVER,port
) 不是必需的。但是,問題似乎與執行 SQL 服務的 Windows 級別的安全協議/提供程序有關。希望這篇文章對進一步的故障排除和解決方案有所幫助,應用 Windows 安全路徑將是解決此類問題的正確方法。