Windows Server 2008 R2.
SQL Server 2008 R2 diinstal.
Layanan MSSQL berjalan sebagai Sistem Lokal.
Server FQDN adalah SQL01.domain.com.
SQL01 bergabung dengan domain Active Directory bernama domain.com.
Berikut ini adalah output dari setspn:
C:\> setspn -L sql01
...
MSSQLSvc/SQL01.domain.com:1433
MSSQLSvc/SQL01.domain.com
WSMAN/SQL01.domain.com
WSMAN/SQL01
TERMSRV/SQL01.domain.com
TERMSRV/SQL01
RestrictedKrbHost/SQL01
RestrictedKrbHost/SQL01.domain.com
HOST/SQL01.domain.com
HOST/SQL01
Saya kemudian meluncurkan studio SQL Server Management dan terhubung ke SQL01 demikian:
Saya kemudian menjalankan kueri berikut:
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid
Dan hasilnya adalah NTLM. Mengapa hasilnya bukan Kerberos? SPN tampaknya benar untuk menggunakan akun Sistem Lokal. Server tidak ada di cluster atau menggunakan CNAME.
sql-server
kerberos
sql-server-2008-r2
spn
Ryan Ries
sumber
sumber
Jawaban:
Itu karena saya terhubung ke SQL Server secara lokal, dari server yang sama yang meng-host SQL Server. Ketika saya terhubung dari komputer lain di jaringan, mekanisme otentikasi yang digunakan adalah Kerberos, seperti yang diharapkan.
SQL Server akan selalu menggunakan NTLM jika terhubung secara lokal. Kerberos hanya digunakan jika menghubungkan dari jarak jauh.
Posting ini dari Blog Protokol SQL Server , walaupun bertanggal, mengatakan hal yang sama:
sumber