В настоящее время у нас есть следующая настройка:
Обычно проблем не возникает, но вдруг приложение с сервера приложений начинает сообщать об ошибках. Проверяя журналы событий на сервере базы данных, можно обнаружить, что, когда сервер приложений пытается войти на сервер SQL с помощью аутентификации Windows (учетная запись домена), он сообщит о следующей ошибке:
Идентификатор события 17806 (MSSQLSERVER):
Сбой установления связи SSPI с кодом ошибки 0x80090311, состояние 14 при установлении соединения со встроенной безопасностью; соединение было закрыто. Причина: сбой AcceptSecurityContext. Код ошибки Windows указывает причину сбоя. Невозможно связаться с властями для аутентификации. [КЛИЕНТ:
IP_of_App_Server
]
и
Код события 18452 (MSSQLSERVER):
Ошибка входа. Логин из ненадежного домена и не может использоваться с аутентификацией Windows. [КЛИЕНТ:
IP_of_App_Server
]
Затем я бы протестировал удаленный рабочий стол на сервере базы данных, используя учетную запись домена, он завершился бы ошибкой с жалобой на то, что сервер не может связаться с AD для проверки учетной записи и не будет входить в меня, поскольку аутентификация на уровне сети принудительно. Также попытался войти в резервный узел базы данных, используя учетную запись домена, и не имел никаких проблем.
Я все еще могу войти в систему с помощью локального администратора, и проверка журналов системных событий обнаружит следующую ошибку:
Код события 5719 (NETLOGON):
Этому компьютеру не удалось установить безопасный сеанс с контроллером домена в домене.
domain_name
из-за следующего: В настоящее время нет серверов входа в систему, доступных для обслуживания запроса входа в систему. Это может привести к проблемам с аутентификацией. Убедитесь, что этот компьютер подключен к сети. Если проблема не исчезнет, обратитесь к администратору домена.ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ. Если этот компьютер является контроллером домена для указанного домена, он устанавливает безопасный сеанс с эмулятором основного контроллера домена в указанном домене. В противном случае этот компьютер устанавливает безопасный сеанс с любым контроллером домена в указанном домене.
Обычно эта проблема проходит сама собой через некоторое время. Однако сегодня утром произошел длительный инцидент, который длится более часа, и в конце концов я решил его, переключив мою службу SQL на другой узел кластера, а затем немедленно переключив ее обратно.
Я попытался поискать в Интернете и обнаружил, что большинство проблем вызвано проблемами сети. Я могу подтвердить, что всякий раз, когда возникает проблема, мой сервер базы данных все еще может пинговать и разрешить сервер Active Directory. Думаю, проблема связана с ОС. Я также обнаружил, что это может иметь какое-то отношение к KB3002657 ссылка на ошибку сервера, который, как я обнаружил, был установлен. Однако, читая сообщения и Microsoft KB, кажется, что проблема с этим патчем должна постоянно влиять на серверы и, похоже, больше связана с Microsoft Server 2003.
В настоящее время у меня нет никаких идей по этой проблеме, и я благодарен, если кто-то может пролить свет на это, спасибо.
У нас точно такая же конфигурация, только с одним отличием: мы используем 2 версии SQL 2016 в Windows Failover Clustering, но проблема та же. Моя проблема исчезла, когда я добавил записи SPN для прослушивателей SQL для учетной записи домена службы SQL Server, например 2 SPN для прослушивателя SQL-listener1: MSSQLSvc / SQL-listener1.domain.com, MSSQLSvc / SQL-listener1.domain.com: 1433