当前位置:  开发笔记 > 数据库 > 正文

SQL Server 2005:读取提交事务隔离级别中的键范围锁定?

如何解决《SQLServer2005:读取提交事务隔离级别中的键范围锁定?》经验,为你挑选了1个好方法。

我正在帮助解决使用SQL Server 2005的.NET应用程序中的一些死锁问题.我从下面的跟踪中获取了XML数据.

让我感到困惑的是,PK_Exp_Experience_PriorFirm当提交事务隔离级别时,RangeX-X锁定.

我读过的所有内容都表明您只获得了使用事务隔离级别"可序列化"的键范围锁定.到目前为止,我在我们的应用程序中找不到任何位置,我们将隔离级别设置为read committed之外的任何其他位置,下面的XML也表明我们正在使用read committed.

但是如果我们使用read-committed,我不明白跟踪如何显示有一个键范围锁定.有没有人有关于如何发生这种情况的想法?


  
    
      
        
          
            UPDATE Exp_Experience_PriorFirm SET RelatedGuid = @newGuid WHERE RelatedGuid = @oldGuid
          
          
            sp_executesql
          
          
            EXEC sp_executesql @sql,
            N'@oldGuid uniqueidentifier, @newGuid uniqueidentifier',
            @oldGuid, @newGuid
          
          
            EXEC Contact_MergeRelationships @oldGuid, @newGuid, 'Contact_Company', @excludedTableNames
          
        
        
          Proc [Database Id = 120 Object Id = 698446258]
        
      
      
        
          
            DELETE FROM Contact WHERE GUID = @Guid;
          
        
        
          Proc [Database Id = 120 Object Id = 410445232]
        
      
    
    
      
        
          
        
        
          
        
      
      
        
          
        
        
          
        
      
    
  

Amy T.. 6

PK_Exp_Experience_PriorFirm上的RangeX-X锁定被视为级联删除的一部分.

对于某些操作(如级联删除),SQL Server会自动将隔离级别升级为可序列化.

这里将对此进行更详细的描述:更新/删除级联RI上的Conor与隔离级别升级.



1> Amy T..:

PK_Exp_Experience_PriorFirm上的RangeX-X锁定被视为级联删除的一部分.

对于某些操作(如级联删除),SQL Server会自动将隔离级别升级为可序列化.

这里将对此进行更详细的描述:更新/删除级联RI上的Conor与隔离级别升级.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有