![本机 SQL 登录在登录验证阶段超时](https://linux22.com/image/569292/%E6%9C%AC%E6%9C%BA%20SQL%20%E7%99%BB%E5%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E9%AA%8C%E8%AF%81%E9%98%B6%E6%AE%B5%E8%B6%85%E6%97%B6.png)
我的实例的默认 SQL 跟踪显示了本机 SQL 登录(非域帐户)的以下问题:
建立连接时发生网络错误代码 0xe8;连接已关闭。这可能是由于客户端或服务器登录超时到期造成的。登录所用时间:总计 18230 毫秒,排队 2 毫秒,网络写入 5 毫秒,网络读取 128 毫秒,建立 SSL 71 毫秒,协商 SSPI 0 毫秒,验证登录 18096 毫秒。[客户端:]
我做了一些挖掘,但还是无法找到要使用什么工具或要收集哪些指标来更好地分配登录验证性能问题。
这是安装了最新 VMware 工具的、在 Windows 2003 R2 上安装了 Service Pack 2 的 SQL Server 2005(带有 Service Pack 3)。
答案1
SQL Server 的版本是什么?您是否检查过是否启用了登录触发器?(您的登录触发器可能存在性能问题。)
USE master;
GO
SELECT * FROM sys.server_triggers
WHERE OBJECT_DEFINITION([object_id])
LIKE '%FOR%LOGON%';
听起来确实大部分时间都花在验证登录上 - 所以如果它不是登录触发器,那么也许是其他资源限制 - 例如,系统中有多少个登录?
SELECT COUNT(*) FROM master.sys.server_principals;
有多少个数据库?
SELECT COUNT(*) FROM master.sys.databases;
您正在使用的与 SQL Server 登录关联的数据库中有多少个设置为自动关闭?
SELECT COUNT(*) FROM master.sys.databases WHERE is_auto_close_on = 1;
如果您使用 sa 登录,是否会出现相同的症状,或者这是否仅限于特定的 SQL 登录?
答案2
凭直觉,我们删除了 Symantec Endpoint Client,这是一个完整部署。我们过去曾遇到过网络过滤器级别驱动程序的问题。
重启后,我们发现总体性能和登录超时时间明显改善。我们将调整 AV 的 SEP 部署,以消除麻烦的网络过滤驱动程序。