我想让sql查询有超时

时间:2016-02-05 09:41:31

标签: sql sql-server asp.net-mvc sql-update locking

在我的asp.net mvc应用程序中,我使用Sql Data Adapter来更新记录。

例如

 UPDATE sample SET status = 1 WHERE id = @id

我需要测试一个无法运行此sql代码且没有更新任何记录的scenerio。我该怎么做?

我应该为样品表锁定,我该怎么做? 如何使这个UPDATE查询以某种方式不起作用而不更新任何记录?

忘记注意:我无法更改此代码或应用程序代码,也无法提供随机的@id参数。

我需要在数据库级别这样做。

3 个答案:

答案 0 :(得分:1)

您可以使用以下技术之一读取数据库中的特定表。

  • 插入,更新,删除触发器
  • 检查约束并删除触发器
  • 使数据库只读
  • 将表放入只读文件组
  • DENY对象级别权限
  • 创建视图

答案 1 :(得分:0)

您可以将id设置为不确定的值(例如-1)。

或者您可以删除访问数据库的用户(在连接字符串中)的用户权限以更新此表。希望它不是sa :)。

答案 2 :(得分:0)

向相关控制器添加[Authorize]属性,并尝试以访客用户身份执行操作。

编辑。要在服务器端执行此操作,请在数据库的查询窗口中输入以下内容

Begin Transaction

这应该在你进行测试时锁定数据库