我有一个存储过程,需要几分钟才能执行。这个StoredProcedure会对不同的表进行多次选择,(批量)更新和插入。 现在,在执行此StoredProcedure时,更新的表将被锁定。在存储过程开始时,bool-flag从1切换到0,最后标志从0切换到1。 现在,在执行StoredProcedure期间,其他正在对此表执行插入或更新的语句(从StoredPRocedure更新)将被锁定(这会导致TimeOut-Exception)。
有没有办法,StoredPRocedure没有锁定任何表格?我也尝试过IsolationLevel ReadUncommited但这个IsolationLevel仍存在问题。
答案 0 :(得分:0)
没有快速的答案。你需要花一点时间研究Locking in SQL Server。并了解交易给你什么,锁可以做什么和不能做什么,持有锁多长时间,隔离级别。
一旦你有了更好的理解,你应该能够回答我们的问题,或者至少提出一个更有针对性的问题。