WEB开发网
开发学院数据库MSSQL Server 通过SQL Server Profiler来监视分析死锁 阅读

通过SQL Server Profiler来监视分析死锁

 2010-01-18 00:00:00 来源:WEB开发网   
核心提示: 创建好表和插入测试数据后, 先执行脚本代码(因为我们不需要跟踪该代码),通过SQL Server Profiler来监视分析死锁(2),紧接着,我们就模拟两个会话,是更新DealLockTest_2表后,等待5秒钟,一个会话里面包含一个事务,这里我们就新建两个查询

创建好表和插入测试数据后, 先执行脚本代码(因为我们不需要跟踪该代码),紧接着,我们就模拟两个会话,一个会话里面包含一个事务。这里我们就新建两个查询,其中第一个会话,是更新DealLockTest_1表后,等待5秒钟,更新DealLocktest_2.

通过SQL Server Profiler来监视分析死锁 

Use Test
Go
    --第一个会话
    
    Begin Tran
    
    Update DealLockTest_1
        Set Name=N'test1'
        Where ID >0
    
    
    /*这里的Waitfor等待,是为了容易获取死锁的发生*/        
    Waitfor Delay '00:00:05'
    
        
    Update DealLockTest_2
        Set Name=N'test2'
        Where ID >0        
    
    Commit Tran
Go

代码写好后,我们先不要执行代码,接下来就写第二个会话代码; 第二个会话更新表的顺序,刚好与第一个会话相反,是更新DealLockTest_2表后,等待5秒钟,更新DealLocktest_1.

通过SQL Server Profiler来监视分析死锁 

Use Test
Go
    --第二个会话
    
    Begin Tran
    
    Update DealLockTest_2
        Set Name=N'test1'
        Where ID >0
    /*这里的Waitfor等待,是为了容易获取死锁的发生*/                
    Waitfor Delay '00:00:05'            
        
    Update DealLockTest_1
        Set Name=N'test2'
        Where ID >0        
    
    Commit Tran
Go

上一页  1 2 3 4 5 6  下一页

Tags:通过 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接