在我们的某个系统中,打开与SQL Server的连接时会出现随机延迟。
系统运行的是Windows Server 2012 R2 Standard和SQL Server 2012,它们位于与我们的应用程序相同的物理机器上。
即使我们的应用程序处于空闲状态,它也会平均每隔几秒执行一次数据库操作。
我们的应用程序执行的数据库操作通常包括3个步骤:
通常第一步只需要一小部分时间,而运行存储过程可能需要更长时间,具体取决于许多因素。
问题:打开连接可能会随机需要5-13秒。这种情况很少发生,一次是几个小时,甚至一天一次。
换句话说,每千个数据库操作可能会发生一次。我们在这些延迟的时间安排中没有发现任何可辨别的模式。
SQL Server日志文件中没有任何可疑内容。
运行SQL Server探查器似乎不实用,因为故障可能无法在10-20小时内显示出来。
我们还没有在任何其他机器上看到过这种现象。
答案 0 :(得分:0)
看起来我们已经解决了这个问题。我在某处读到了建议尝试使用SQL Server身份验证而不是Windows身份验证。这里讨论的问题与我们的问题并不完全相同,但有些相似。由于连接字符串用于每个Open Connection操作,我决定尝试一下。因此,我们的应用程序已经连续工作了3天,并且没有一次打开连接的事件很慢。为了将其置于上下文中,在此修复之前,我们平均在24小时内发生了几起事件,而在过去两个月内没有一次无事故的24小时事件。