У нас есть следующие настройки:
- Один контроллер домена ( DC , Server 2003 R2 Standard x64)
- Один SQL Server ( SQL , Server 2008 R2 Standard x64)
- некоторые клиенты.
Все машины находятся в одном домене. Все используемые учетные записи являются учетными записями домена. SQL запускает один экземпляр каждого SQL Server 2005, 2008, 2008R2, 2012 и 2014.
С сегодняшнего вечера ( DC перезагружен для установки автоматических обновлений безопасности Windows), доступ к экземплярам SQL 2005, 2008 и 2008R2 через проверку подлинности Windows больше не работает должным образом:
При доступе к одному из этих экземпляров
- от одного из клиентов
- используя проверку подлинности Windows
возникает следующая ошибка (это сообщение 2008R2, сообщения 2005/2008 похожи):
Ошибка входа. Логин входит в ненадежный домен и не может использоваться с аутентификацией Windows. (Microsoft SQL Server, ошибка: 18452)
Очевидно, что текст сообщения не применяется, поскольку существует только один домен.
И вот что удивительно: как только пользователь вошел в систему с помощью SQL (запускает сеанс RDP или даже просто запускает runas /user:MYDOMAIN\someuser cmd
и держит окно открытым), этот пользователь может без каких-либо проблем получить доступ ко всем экземплярам SQL Server со всех клиентов, пока процесс не будет запущен с учетные данные этого пользователя закрыты.
Это означает, что я могу просто обойти эту проблему, выполнив вышеупомянутую команду runas для всех пользователей в SQL один раз (и оставив окна открытыми), но, очевидно, что-то серьезно сломано. Я подозреваю, что сегодняшние обновления безопасности для DC имеют какое-то отношение к этому (поскольку это единственное, что изменилось), но я бы предпочел не удалять и не перезагружать каждое из них (было установлено 12 обновлений, а DC действительно старый и медленный).
Кто-нибудь сталкивался с этой проблемой раньше и знает, как ее навсегда исправить? Любые другие идеи (кроме как потратить следующие несколько дней, чтобы стать экспертом Kerberos)?