2

我有 2 个程序:

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

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

4

1 回答 1

1

如果阅读客户端无法连接,您需要了解原因。这与其他客户写作无关。

如果读取客户端连接正常,但它发出的查询超时,并且查询应该在几秒钟内安全执行,这表明锁定(可能由从未提交的事务持有)。出现问题时,请检查服务器上的 sys.dm_tran_locks 之类的内容,以查找持有表锁的进程。

于 2013-01-16T06:12:16.383 回答