死锁的产生和解除 死锁(deadlock)指进程之间互相永久阻塞的状态,Microsoft SQL Serv er 数据库引擎实例可以检测到死锁,并选择终止其中一个事务以干预死锁状态
两个进程发生死锁的典型例子是:进程T1 中获取锁A,申请锁B;进程T2 中获取锁B,申请锁A,下面动手来演示死锁的发生和检测: 1
在 SQL Serv er Management Stu dio 的“标准”工具栏上,单击“新建查询”按钮
此时将使用当前连接打开一个查询编辑器窗口
在查询编辑器窗口输入如下脚本,并执行
将在 TempDB 数据库中创建Teacher 表并填充 3 条数据: USE TempDB;/*使用TempDB作为当前数据库*/ GO --TempDB数据库中若存在用户创建的表Teacher,则删除之
IF OBJECT_ID(N'TempDB
Teacher', N'U') IS NOT NULL DROP TABLE Teacher; GO CREATE TABLE Teacher ([ID] int identity,[name] nchar(10),[birthday]datetime,depatrment nchar(4),salary int null) GO Begin transaction Insert into teacher values ('王伟',1990-03-02,'计算机系',1000) Insert into teacher values ('李红',1900-08-08,'计算机系',1500) Insert into teacher values ('李强',1975-03-02,�