SQL Server死锁测试

数据库 SQL Server
SQL Server死锁问题是我们经常会遇到的,下文就针对死锁问题进行了实例测试,供您参考学习之用。

SQL Server死锁问题很值得我们去研究,下面就作了一个相关方面的测试,看看究竟什么时候会出现SQL Server死锁问题。

SQL Server死锁测试
--增设 帐户表_2
CREATE TABLE 帐户表_2
(
帐号 CHAR(4),
余额 INT
)
GO
INSERT 帐户表_2
SELECT 'C',100
UNION ALL
SELECT 'D',200

--在第一个连接中执行以下语句
BEGIN TRAN
UPDATE 帐户表 SET 余额=3 WHERE 帐号='A'
WAITFOR DELAY '00:00:10'
UPDATE 帐户表_2 SET 余额=3 WHERE 帐号='C'
COMMIT TRAN

--在第二个连接中执行以下语句
BEGIN TRAN
UPDATE 帐户表_2 SET 余额=4 WHERE 帐号='C'
WAITFOR DELAY '00:00:10'
UPDATE 帐户表 SET 余额=4 WHERE 帐号='A'
COMMIT TRAN

--删除测试表
DROP TABLE 帐户表,帐户表_2

--同时执行,系统会检测出死锁,第一个连接的事务可能正常执行,SQL Server 终止第二个连接的事务(不涉及超时)。
--如果没有出现死锁,则在其它事务释放锁之前,请求锁的事务被阻塞。
--LOCK_TIMEOUT 设置允许应用程序设置语句等待阻塞资源的最长时间。

4、更新数据时候允许进行插入
5、插入数据时不允许更新\读取

 

 

 

【编辑推荐】

SQL Server死锁监控的语句写法

Sql server安全设置九大措施

修改SQL Server默认安全设置

SQL Server跨服务器查询

SQL Server资源锁模式大全

责任编辑:段燃 来源: 互联网
相关推荐

2010-07-07 13:58:25

SQL Server死

2010-07-06 10:08:57

SQL Server

2014-03-17 10:34:48

SQL Server

2010-09-14 15:34:29

sql server死

2011-04-02 17:08:44

SQL Server死锁

2010-11-09 17:02:43

SQL Server死

2010-11-09 16:29:39

SQL Server死

2023-08-15 08:26:34

SQL Server查找死锁

2010-11-09 16:37:25

Sql server死

2010-11-09 16:20:46

SQL Server死

2010-07-02 10:53:32

SQL Server死

2010-06-30 14:15:08

SQL Server死

2010-07-20 10:27:57

SQL Server

2011-02-28 13:19:50

SQL Server SQL死锁

2011-03-08 09:27:34

SQL Server数死锁

2010-01-18 10:48:16

SQL Server

2009-03-30 10:56:58

SQL Server数据库死锁数据库

2010-08-26 10:45:33

死锁SQL Server

2010-06-29 17:32:13

SQL Server锁

2009-02-16 09:35:19

业务规则链接SQL Server
点赞
收藏

51CTO技术栈公众号