MSSQL Error 17810: Service Principal Name (SPN) could not be verified
- Клиенты возвращают ошибку:
Error: 17810, Severity: 14, State: 2. Could not connect to SQL Server. Service Principal Name (SPN) could not be verified. - Отказ входа при попытке подключения сервера приложений 1С к экземпляру СУБД с использованием доменных учетных записей.
- В оснастке Event Viewer регистрируются события Kerberos Security Audit Failure с кодом события 40960 или 40961.
1. Анализ проблемы валидации SPN
Ошибка 17810 указывает на то, что клиентский драйвер попытался проверить подлинность SPN целевого сервера через KDC (Key Distribution Center), но имя SPN привязано к неверной учетной записи или зашифровано недействительным ключом.
2. Поиск и удаление некорректных привязок SPN
:: Поиск всех SPN для имени целевого сервера
setspn -Q MSSQLSvc/sql-node01.corp.local*
:: Удаление некорректно привязанного SPN к старой учетной записи
setspn -D MSSQLSvc/sql-node01.corp.local:1433 DOMAIN\old_sql_user3. Корректная ручная регистрация SPN
:: Привязка к действующей учетной записи службы MSSQL
setspn -S MSSQLSvc/sql-node01.corp.local:1433 DOMAIN\actual_sql_service
setspn -S MSSQLSvc/sql-node01:1433 DOMAIN\actual_sql_serviceКлюч -S автоматически выполняет проверку на дубликаты перед добавлением.
4. Очистка локального кэша билетов Kerberos на серверах 1С
klist purge5. Проверка шифрования Kerberos в политиках домена
Убедитесь, что для учетной записи службы SQL в AD включена поддержка шифрования AES 128/256 (This account supports Kerberos AES 128/256 bit encryption).
Частые вопросы (FAQ)
Чем отличается ключ setspn -A от setspn -S?
Ключ -A слепо добавляет SPN, что может создать дубликат в AD и сломать Kerberos. Ключ -S предварительно проверяет каталог на уникальность и блокирует создание дубликатов.
Почему ошибка 17810 происходит после миграции SQL Server на новое железо?
После смены сервера старый SPN остался привязан к старой учетной записи компьютера или старой доменной учетной записи службы.
Нужно ли указывать номер порта при регистрации SPN?
Для инстанса по умолчанию (Default Instance) на порту 1433 регистрируются две записи: с портом (:1433) и без него. Для именованных инстансов регистрация с указанием порта обязательна.
Как быстро временно обойти ошибку для запуска 1С?
В настройках информационной базы 1С укажите IP-адрес сервера СУБД вместо NetBIOS/FQDN имени, либо используйте авторизацию SQL Server (SQL Authentication).