如何避免MSSQL超时?



我有两个程序:

  • 生成数据并将其插入到MSSQL(使用c++编写并使用ODBC进行连接)的服务器。
  • 从MSSQL中读取数据并显示给用户的客户端(用。net (c#, VB)编写,使用。net SqlClient)。

现在我的问题是当我的服务器正在运行并插入数据到MSSQL时,我的客户端无法从中选择数据,甚至有时连接将失败。目前我在一台机器上运行服务器和客户端,但它们应该在网络上运行!我试图增加connection timeout在我的连接字符串,它有时工作,但并不总是。我的服务器负载不是太高(可能每秒插入一次)。那么我的服务器出了什么问题,我应该怎么做才能找到错误呢?

如果读取客户端不能连接,您需要了解原因。这和其他客户的写作没有关系。

如果读取客户端连接正常,但是它发出的查询超时,并且查询应该在几秒钟内安全执行,这表明存在锁(可能由从未提交的事务持有)。当问题发生时,检查sys。对于持有表上锁的进程,服务器上的Dm_tran_locks。

最新更新