我一直在为正在开发的程序编写一些测试代码。我的一些代码执行修改 SQL Server 上的数据的操作。为了避免测试数据弄乱我的数据库,我使用事务。我在事务中运行每个测试,然后回滚事务。
但是,当我运行测试代码时,它会偶尔抛出无法连接到 SQL Server 的异常。更糟糕的是,有时,事务似乎只是漂浮在空中,锁定数据库中的表,使普通用户无法连接。(这是一个开发环境数据库,但即使如此,它仍然很麻烦)。
我的测试分为大约 100 个测试;每个测试在其自己的事务中运行;测试按顺序运行(或者至少我认为它们应该按顺序运行 :-/)。
如果我一次运行一个测试,它们总是会通过。只有在 Visual Studio 2008 中同时运行所有 100 个测试时,我才会遇到问题。每个测试运行得都非常快,所以我认为问题与 SQL Server 无法清除上一个测试的连接并提供新的连接有关。
是否可以对我的 SQL Server 配置进行一些调整来解决此问题?
答案1
每次调用后是否正确处理了连接对象?连接池可能已满,阻止进一步连接。