![什么原因导致我的代码偶尔无法连接到 SQL Server?](https://linux22.com/image/516940/%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E5%81%B6%E5%B0%94%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20SQL%20Server%EF%BC%9F.png)
我一直在为正在开发的程序编写一些测试代码。我的一些代码执行修改 SQL Server 上的数据的操作。为了避免测试数据弄乱我的数据库,我使用事务。我在事务中运行每个测试,然后回滚事务。
但是,当我运行测试代码时,它会偶尔抛出无法连接到 SQL Server 的异常。更糟糕的是,有时,事务似乎只是漂浮在空中,锁定数据库中的表,使普通用户无法连接。(这是一个开发环境数据库,但即使如此,它仍然很麻烦)。
我的测试分为大约 100 个测试;每个测试在其自己的事务中运行;测试按顺序运行(或者至少我认为它们应该按顺序运行 :-/)。
如果我一次运行一个测试,它们总是会通过。只有在 Visual Studio 2008 中同时运行所有 100 个测试时,我才会遇到问题。每个测试运行得都非常快,所以我认为问题与 SQL Server 无法清除上一个测试的连接并提供新的连接有关。
是否可以对我的 SQL Server 配置进行一些调整来解决此问题?
答案1
每次调用后是否正确处理了连接对象?连接池可能已满,阻止进一步连接。