Соединение было успешно установлено с сервером, но затем произошла ошибка во время рукопожатия до входа в SQL Server 2012
Сегодня я не смог войти в свой локальный экземпляр SQL Server 2012 со следующим сообщением об ошибке
Соединение с сервером было успешно установлено, но затем произошла ошибка во время установления связи с предварительным подключением.
поставщик: поставщик SSL, ошибка: 0 - произошла внутренняя ошибка. (Microsoft SQL Server, ошибка: -2146893792)
Я нашел много подобных вопросов здесь и на форумах, но ничего не помогло. Обратите внимание, что в моем случае это просто говорит
0 - Произошла внутренняя ошибка
- В Event Viewer нет ошибок;
- Я не использую Encrypted Connections;
- В диспетчере конфигурации SQL Server
Force Protocol Entryption
установлено значение False
, Trust Server Certificate
установлено на Yes
(Первоначально он был No
, но в обоих случаях он не работал);
- Я могу подключиться к SQL Server с помощью UDL;
- Я попытался переустановить SQL Server со всеми связанными компонентами;
- Пытался удалить .NET 4.5;
- В SQL Management Studio, в свойствах соединения, Encrypt Connection не установлен.
Это сработало хорошо вчера, с тех пор я не устанавливал никакого программного обеспечения.
Ответы
Ответ 1
проверьте, что протокол TCP/IP не включен для клиентов. Без протокола TCP/IP вы не можете получить доступ к серверу sql от других клиентов. Ниже приведен метод включения протокола.
Перейти к Начать → Программы → SQL Server → Инструменты настройки → Диспетчер конфигурации SQL.
Разверните Конфигурация сети SQL и нажмите ПРОТОКОЛЫ node
Щелкните правой кнопкой мыши на TCP/IP и откройте панель СВОЙСТВА
Выберите вкладку IP ADDRESS
http://sqlanddotnetdevelopment.blogspot.in/2013/07/a-connection-was-successfully.html
Ответ 2
В нашем случае такая же ошибка произошла из-за того, что spn не установлен. Попробуйте проверить, установлен ли spn. Как и другие предложения в комментариях, вы можете видеть записи буфера буфера, которые содержат больше информации. Если вы можете чаще воспроизводить, попробуйте параллельно запустить netmon или wirehark.
Ответ 3
В нашем случае это была проблема с SSL/TLS. Мы просто отключили tls 1.0, чтобы убедиться, что мы совместимы с PCI DSS, но он остановил работу SQL Server. Затем нам нужно было установить одно обновление от Microsoft, а затем отключить его, используя IISCrypto, вместо использования реестра. Здесь мы предприняли следующие шаги:
https://www.itechtics.com/connection-successfully-established-error-occured-pre-login-handshake/
Ответ 4
Включение TLS и отключение SSL работали в моем случае. Проверьте здесь для более подробной информации.
Ответ 5
Отключить протокол TLS 1.2 и включить 1.0/1.1. Переустановленный SQL-сервер после перезапуска сервера