Печать
Категория: MS SQL Server

Материал взят из

https://blog.it-kb.ru/2011/04/10/sql-server-spn-service-principal-name/
http://dbasimple.blogspot.com/2015/04/spn-ms-sql-server.html

 

Если службы SQL Server запускаются от имени пользовательской доменной учетной записи, то в логе можно обнаружить ошибку регистрации SPN.

Необходимо зарегистрировать имя участника-службы (SPN — Service Principal Name) для учетной записи службы SQL Server, чтобы в работе службы могла использоваться проверка подлинности с помощью протокола Kerberos. Чтобы посмотреть используется ли Kerberos при подключении к SQL Server можно выполнить запрос:

SELECT * FROM sys.dm_exec_connections 

Для того, чтобы получить информацию о том, что на доменной учетной записи, от имени которой производится запуск SQL Server действительно не зарегистрировано SPN связанных с SQL, с помощью утилиты SetSPN выполним команду вида:

setSPN -L [имя_учетной_записи]

где  где "имя_учетной_записи" может означать имя или домен\имя учетной записи конечного компьютера или пользователя

Для того чтобы обеспечить нужное для корректной работы Kerberos содержание атрибута servicePrincipalName есть три способа:

    1. Создать необходимую SPN запись с помощью утилиты SetSPN
      setspn -a MSSQLSvc/SQLServerFQDN:1433 Domain\SQLAccount
      setspn -a MSSQLSvc/SQLServerFQDN Domain\SQLAccount
      
      где SQLServerFQDN - доменное имя компьютера SQL Server, SQLAccount - доменное имя пользователя, от имени которого стартуют службы SQL Server

       

    2. Разрешить учетной записи, от имени которой запускается SQL Server, динамическое обновление атрибута servicePrincipalName, выдав разрешения на чтение и запись этого атрибута. Для этого откроем оснастку ADSIEdit.msc, перейдём к свойствам объекта – учетной записи от имени которой стартует SQL Server. На закладке “Безопасность” (Security) нажмём кнопу “Дополнительно” (Advanced). В диалоговом окне «Дополнительные параметры безопасности» (Advanced Security Settings) нажмём кнопку «Добавить» (Add)

       

      Укажем объект SELF и в открывшемся окне

       

      Перейдём на закладку «Свойства» (Properties). В окне выбора области применения выберем пункт «Только этот объект» (This object only) и в списке разрешений отметим "Разрешить" для двух пунктов: Read servicePrincipalName, Write servicePrincipalName

       

    3. Использовать приложение Kerberos Configuration Manager https://www.microsoft.com/en-us/download/details.aspx?id=39046 
Attachments:
Download this file (KerberosConfigMgr.msi)KerberosConfigMgr.msi[ ]773 kB