狀況
假設您遷移從 SQLNCLI11.dll 到 MSODBCSQL11.dll,或從較早版本的 Microsoft SQL Server 至 SQL Server 2014年或更新版本。在此情況下,您可能會注意到,用戶端提供者會解析伺服器名稱的方式中的變更。接著,這會變更如何進行驗證。
根據系統設定,這項變更可能會影響使用新的用戶端驅動程式的應用程式的連線。這包括一些的 SQL Server 2014年或較新的公用程式,例如 SQLCMD。EXE,BCP。EXE 和 OSQL。EXE,視其連線參數而定。
原因
舊版用戶端提供者執行整合式驗證的反向對應。因為這種行為會有潛在的安全性含意,較新的用戶端驅動程式改為使用 NTLM 驗證未使用完全合格網域名稱 (FQDN) 時。
因應措施
有兩種解決方法,就會發生 < 徵狀=""> 一節所述的案例中的連線問題。
方法 1
您可以使用 FQDN 連線至伺服器。這會強制連線中所使用的名稱。因此,它也會強制使用的驗證方法。
方法 2
設定伺服器主要名稱 (SPN) 為您的伺服器名稱。如需有關如何註冊 SPN 的資訊,請參閱註冊服務主要名稱 Kerberos 連線。
Spn 的範例:
MSSQLSvc/SERVER_NAME:port
MSSQLSvc/SERVER_NAME
注意SERVER_NAME預留位置代表伺服器的 NETBIOS 名稱。