Tôi đang thiết lập môi trường DEV / TEST bằng 2 Máy chủ SQL chạy SQL Server 2012 trên Windows Server 2012. Chúng tôi đang chuyển từ SQL Server 2005 trên Windows Server 2008, nơi chúng tôi đã có tính năng này hoạt động chính xác.
Trong SQL Server 2012, xác thực Kerberos không hoạt động.
Mỗi máy chủ có tài khoản Active Directory riêng có quyền "Viết tên hiệu trưởng dịch vụ" và "Đọc tên hiệu trưởng dịch vụ" được cấp thông qua người dùng và máy tính của Active Directory. Bất cứ khi nào tôi kết nối với máy chủ SQL Server 2005 và chạy:
SELECT net_transport, auth_scheme
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Tôi hiểu rồi:
net_transport auth_scheme
TCP KERBEROS
Khi tôi thực hiện cùng một truy vấn đối với các phiên bản SQL Server 2012 mới của mình, tôi thấy:
net_transport auth_scheme
TCP NTLM
Nếu tôi sử dụng SetSPN -Q MSSQLSvc/*
để truy vấn Tên miền hoạt động cho Tên chính của dịch vụ, tôi sẽ thấy cả máy chủ năm 2005 và 2012 được liệt kê, chính xác theo cùng một cách khác với tên của máy chủ.
Ví dụ:
MSSQLSvc/SERVERa2005.domain.inet
MSSQLSvc/SERVERa2005domain.inet:1433
MSSQLSvc/SERVERb2005.domain.inet
MSSQLSvc/SERVERb2005domain.inet:1433
MSSQLSvc/SERVERa2012.domain.inet
MSSQLSvc/SERVERa2012domain.inet:1433
MSSQLSvc/SERVERb2012.domain.inet
MSSQLSvc/SERVERb2012domain.inet:1433
Tôi cần làm gì khác để kích hoạt Xác thực Kerberos cho SQL Server 2012? Sách trực tuyến dường như không có gì khác để nói, ngoại trừ việc SPN phải được thiết lập. Mà rõ ràng, họ là. Nhật ký lỗi máy chủ SQL trên cả hai máy 2012 cho biết:
2012-12-10 14:55:47.630 The SQL Server Network Interface library
successfully registered the Service Principal Name (SPN)
[ MSSQLSvc/SERVERa2012.domain.inet ] for the SQL Server
service.
2012-12-10 14:55:47.630 The SQL Server Network Interface library
successfully registered the Service Principal Name (SPN)
[ MSSQLSvc/SERVERa2012.domain.inet:1433 ] for the SQL
Server service.
2012-12-10 14:55:47.590 SQL Server is attempting to register a Service
Principal Name (SPN) for the SQL Server service.
Kerberos authentication will not be possible until a
SPN is registered for the SQL Server service. This is an
informational message. No user action is required.