如何在数据库中导致超时异常?

时间:2009-07-01 05:39:37

标签: sql timeout

我需要测试一些ASP.NET代码,它们通过调用MS-SQL数据库来处理超时异常。

我能够减少连接上的CommandTimeout参数,但这可能会在到达我的代码之前导致错误。

是否有一种简单的方法可以使数据库在“cue”上超时?

8 个答案:

答案 0 :(得分:10)

您正在寻找的是先生是WAITFOR命令,只要您愿意,就可以排队等待数据库超时。

答案 1 :(得分:3)

在管理工作室SQL窗口中开始事务,更新表,不提交它:

BEGIN TRAN
UPDATE table SET ...

这将锁定任何尝试阅读该表的网站。

答案 2 :(得分:1)

难道你不能在想要测试的任何try块中抛出你想要的异常吗?

答案 3 :(得分:0)

编写一个循环程序,为每次迭代执行一些复杂的任务而循环...如果这还不够,可以通过递归调用存储过程来进一步扩展它!

答案 4 :(得分:0)

我通过拔掉我的以太网线缆来骗取了这个......

答案 5 :(得分:0)

开始测试,然后关闭数据库服务器(sc停止“MSSQL $ SQLEXPRESS”或其他东西)。

答案 6 :(得分:0)

您可以考虑使用mock替换数据库连接,这可以简化您的测试。

在这种情况下,模拟只会发出超时信号。

答案 7 :(得分:-1)

记下执行时间超过30秒的过程或查询 从asp.net代码中调用它。