Как отладить проблемы с драйверами MSSQL из Ubuntu
Подобно другой паре вопросов, которые я видел, у меня нет выбора, кроме как подключиться к MSSQL из Django.
Я периодически (но примерно в 50% случаев, остальное работает нормально) получаю ошибку;
django.db.utils.Error: ('[08S01] [Microsoft] [Драйвер ODBC 13 для SQL Server] Поставщик TCP: код ошибки 0x274c (10060) (SQLGetData)')
Обратите внимание, я тоже иногда получаю это;
django.db.utils.Error: ('08S01', '[08S01] [Microsoft] [Драйвер ODBC 13 для SQL Server] Поставщик TCP: код ошибки 0x68 (104) (SQLGetData)')
Я думаю, что это связано с сетью, я ранее пытался поменяться pyodbc
версии, обмен между FreeTDS
и Microsoft драйвер для Unix, и пытается pyodbc
а также pyodbc-azure
,
Речь идет о машинах Vagrant в частной сети с фиксированными IP-адресами (Ubuntu 16.04 и Windows 8), SQL Server - это SQL Server Express 2016.
Я даже не могу понять, как найти более подробный журнал на стороне Windows, чтобы понять, почему / как он продолжает сбрасывать / закрывать соединение. Примечание. Я просматривал журналы событий SQL Server и Windows, и они, похоже, ничего не обнаруживают.
1 ответ
Вот несколько полезных ссылок на основе зарегистрированных кодов ошибок:
Произошла ошибка при установлении соединения с сервером. При подключении к SQL Server эта ошибка может быть вызвана тем, что в настройках по умолчанию SQL Server не разрешает удаленные подключения. (поставщик: поставщик TCP, ошибка: 0 - попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, поскольку подключенный хост не смог ответить.) (Microsoft SQL Server, ошибка: 10060)
Как правило, это можно исправить, перейдя к экземпляру SQL Server и убедившись, что удаленные подключения разрешены. Для этого в SSMS есть настройка. Вы также хотите убедиться, что сервер настроен на использование интегрированного режима безопасности. т.е. - учетные данные windows/ad и учетные данные сервера sql. Вы можете определить пользователя сервера SQL, не привязанного к идентификатору пользователя Windows.