Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается проблема, возникающая при вводе пароля в SQL Server Management Studio (SSMS) с проверкой подлинности SQL Server.
Исходная версия продукта: SQL Server
Исходный номер базы знаний: 4038457
Симптомы
Предположим, что вы используете SSMS 17.2 (или более раннюю версию программы) для подключения к любой версии SQL Server с помощью проверки подлинности SQL Server. При вводе пароля визуальный ответ поля пароля на нажатие клавиши на клавиатуре заметно замедляется. Кроме того, попытка входа завершается ошибкой, и отображается сообщение об ошибке "Недопустимый пароль", даже если пароль введен правильно.
Причина
Эта проблема возникает, так как API защиты данных Windows не может создать резервную копию MasterKey на контроллер домена для домена, которая содержит учетную запись Windows, используемую для запуска SSMS.
Обходное решение
Для обхода этой проблемы:
- Используйте проверка подлинности Windows вместо проверки подлинности SQL.
- Войдите в Windows с помощью локальной учетной записи вместо учетной записи домена.
- Выполните действия, описанные в разделе "Разрешение", в разделе "Разрешение" в случае сбоя резервного копирования MasterKey DPAPI, если RWDC недоступен.
Решение
Чтобы устранить эту проблему, определите и устраните проблему, которая предотвращает резервное копирование API Защиты данных Windows MasterKey.
Дополнительная информация
Ниже описано, что происходит в этом сценарии:
При вводе символа в поле пароля в SSMS функция API защиты данных (DPAPI) CryptProtectData Windows вызывается для шифрования пароля.
DPAPI изначально создает надежный ключ с именем MasterKey (так как не используется допустимый masterKey), защищенный учетными данными входа пользователя, и вызывается процесс резервного копирования.
Если этот процесс завершается сбоем (так как для домена пользователя отсутствует доступный для записи контроллер домена), создается ошибка и возникает в приложении SSMS.
В коде SSMS эта ошибка обнаружена и не обрабатывается. Так как код не обрабатывает ситуацию, эта ошибка не отображается пользователю.
Это приводит к тому, что пароль, отправленный в SQL Server, будет пустой строкой. При возникновении этой проблемы существует два симптома:
Ввод в поле пароля заметно замедляется из-за неудачных попыток достичь контроллера домена, доступного для записи.
SQL Server сообщает недопустимый пароль в журнале ошибок даже при вводе правильного пароля.
По сути, возникла проблема, описанная в статье о сбоях резервного копирования DPAPI MasterKey, когда RWDC недоступен. Корпорация Майкрософт изменила код SSMS для выпусков 17.3 и будущих выпусков. Таким образом, если эта проблема возникла, система сообщит об исключении, которое создается из DPAPI для гораздо проще диагностики.