Идентификатор события 33566 и SQL Server не запускались после включения шифрования
Применяется к: SQL Server
Симптомы
В Microsoft диспетчер конфигурации SQL Server подготовьте сертификат на стороне сервера и включите шифрование. Однако служба SQL Server не запускается, и вы получите следующее сообщение об ошибке:
Windows не удалось запустить SQL Server (MSSQLSERVER) на локальном компьютере. Дополнительные сведения см. в журнале событий системы.
Если это служба, не связанная с Корпорацией Майкрософт, обратитесь к поставщику услуг и обратитесь к коду ошибки для конкретной службы 13.
Решение
Проверьте журнал приложений и убедитесь, что отображаются две записи событий, похожие на следующие:
Log Name: Application Source: MSSQLSERVER Date: <Datetime> Event ID: 33556 Task Category: Server Level: Error Keywords: Classic User: N/A Computer: <Server name> Description: Invalid character in the thumbprint [Cert Hash(sha1) " \<Cert Hash number"]. Please provide a certificate with a valid thumbprint.
Примечание.
Эта ошибка обычно указывает, что сертификат не подготовлен с помощью Configuration Manager. Он подготовлен вручную путем копирования значения отпечатка в следующий раздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
Эта ошибка возникает, если недопустимые символы копируются в значение реестра.
Для решения этой проблемы воспользуйтесь одним из указанных ниже способов.
Метод 1. Подготовка сертификата с помощью диспетчер конфигурации SQL Server
Удалите значение отпечатка вручную из следующего подраздела реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
Используйте Configuration Manager для повторной подготовки сертификата.
Перезапустите службу SQL Server.
Метод 2. Исправление недопустимых символов в значении отпечатка
Выберите "Запустить">, введите mmc и откройте оснастку сертификата в консоли MMC.
Щелкните правой кнопкой мыши сертификат и скопируйте значение отпечатка в текстовый файл. Убедитесь, что пробелы не существуют до и после значения отпечатка.
Удалите значение отпечатка вручную из следующего подраздела реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Certificate
Вручную вставьте новое значение или повторно введите значение, полученное из текстового файла.
Перезапустите службу SQL Server.