Windows pymssql 的身份验证经常失败

Windows Authentication Frequently Failing with pymssql

我遇到了一个问题,Windows 身份验证几乎完成停止了 pymssql 2.1.3 的工作。它上周工作正常,但现在当我尝试使用我的 AD 登录时,它几乎每次都失败并出现错误 (20009, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (878240-SQLdb4:1433)\n'),尽管它确实在每 100 次尝试中成功了大约 1 次。我在 Python 代码来自 运行 的服务器上安装了 Sql Server Management Studios,并且 Windows 身份验证似乎工作正常。我检查了 sql 登录失败的日志,但我看不到任何尝试。

这是我的代码:

import pymssql

conn = pymssql.connection(server='myserver',database='database1')

有什么想法可以使它始终如一地连接吗?

*编辑:如果这是我第一次尝试在几分钟后登录,它似乎可以更稳定地工作。

所以我不得不切换到 pyodbc,它更好地支持 Windows 身份验证。 请记住,最新版本的 pyodbc (4.0.21) 不支持 Python 3.6,因此您需要使用 3.5。 显然 [=16 有一个轮子=] 3.6,但我还没有测试过,pip 似乎无法在 Windows 上本地安装它。我还必须更改一些内容,例如连接字符串和存储过程的调用方式(pyodbc 没有 callproc 函数)。现在这是我的连接字符串:

import pyodbc

conn = pyodbc.connect(server='server',database='database',Trusted_Connection='yes', driver = '{ODBC Driver 13 for SQL Server}')