Я использую SQL Server 2016 с пакетом обновления 1 (SP1) в системе Windows Server 2012 R2. Предположительно, в отличие от более ранних версий SQL Server, SQL Server 2016 прямо из коробки совместим с TLS 1.2 .... Верно? В любом случае, все в моем приложении работает нормально, пока я не отключу TLS 1.0 и 1.1, а затем я получаю эту ошибку:
Не удалось открыть подключение для передачи данных. Ошибка: [Microsoft] [Драйвер ODBC SQL Server] [Сокеты TCP / IP] Ошибка безопасности SSL
Когда я смотрю на драйверы ODBC 11 для SQL Server, они применимы только к SQL Server 2014 или более ранним выпускам. Что дает? Мне неясно, как обновить ODBC, чтобы он был совместим с TLS 1.1 и 1.2 на SQL Server 2016, который даже не должен иметь этой проблемы (в конце концов, уязвимость TLS 1.0 на данный момент является ретро-2016)?
Не имеет смысла ... что я делаю не так? Я использую стандартный драйвер ODBC для SQL Server. Это проблема? Возможно, мне следует использовать драйвер ODBC версии 13 для SQL Server?
Возникла та же проблема с SQL 2016 (хотя она была в коробке Server 2016). Не удалось найти исправление через драйверы ODBC, но обнаружен Symantec статья где агент Backup Exec не смог подключиться к БД с отключенным TLS 1.0.
Предлагаемое исправление - включение FIPS в поле SQL, это исправило его в нашем случае, но я не мог понять, почему. Вот некоторые рекомендации о том, как включить FIPS - с оговоркой, что это не рекомендуется, если вам не нужно соблюдать нормативные или законодательные директивы. (Я бы предоставил ссылки на статьи, в которых подробно рассказывается, но, видимо, поскольку я новичок, я могу разместить только две ссылки. Если вы погуглите «почему вы не должны включать FIPS», вы получите соответствующие статьи)