Поделиться через


Ошибка "Недопустимый пароль" и медленный ответ на типизированный пароль в SSMS

В этой статье описывается проблема, возникающая при вводе пароля в SQL Server Management Studio (SSMS) с проверкой подлинности SQL Server.

Исходная версия продукта: SQL Server
Исходный номер базы знаний: 4038457

Симптомы

Предположим, что вы используете SSMS 17.2 (или более раннюю версию программы) для подключения к любой версии SQL Server с помощью проверки подлинности SQL Server. При вводе пароля визуальный ответ поля пароля на нажатие клавиши на клавиатуре заметно замедляется. Кроме того, попытка входа завершается ошибкой, и отображается сообщение об ошибке "Недопустимый пароль", даже если пароль введен правильно.

Причина

Эта проблема возникает, так как API защиты данных Windows не может создать резервную копию MasterKey на контроллер домена для домена, которая содержит учетную запись Windows, используемую для запуска SSMS.

Обходное решение

Для обхода этой проблемы:

Решение

Чтобы устранить эту проблему, определите и устраните проблему, которая предотвращает резервное копирование API Защиты данных Windows MasterKey.

Дополнительная информация

Ниже описано, что происходит в этом сценарии:

  1. При вводе символа в поле пароля в SSMS функция API защиты данных (DPAPI) CryptProtectData Windows вызывается для шифрования пароля.

  2. DPAPI изначально создает надежный ключ с именем MasterKey (так как не используется допустимый masterKey), защищенный учетными данными входа пользователя, и вызывается процесс резервного копирования.

  3. Если этот процесс завершается сбоем (так как для домена пользователя отсутствует доступный для записи контроллер домена), создается ошибка и возникает в приложении SSMS.

  4. В коде SSMS эта ошибка обнаружена и не обрабатывается. Так как код не обрабатывает ситуацию, эта ошибка не отображается пользователю.

  5. Это приводит к тому, что пароль, отправленный в SQL Server, будет пустой строкой. При возникновении этой проблемы существует два симптома:

    • Ввод в поле пароля заметно замедляется из-за неудачных попыток достичь контроллера домена, доступного для записи.

    • SQL Server сообщает недопустимый пароль в журнале ошибок даже при вводе правильного пароля.

По сути, возникла проблема, описанная в статье о сбоях резервного копирования DPAPI MasterKey, когда RWDC недоступен. Корпорация Майкрософт изменила код SSMS для выпусков 17.3 и будущих выпусков. Таким образом, если эта проблема возникла, система сообщит об исключении, которое создается из DPAPI для гораздо проще диагностики.

Ссылки