Azure 上的死锁 SQL 没有事务的数据库
DeadLock on Azure SQL Database without transactions
似乎尽管我们根本没有使用事务,但我们从 SQL Azure 得到了随机死锁错误。
SQL Azure 能陷入僵局的时候,没有跨国的情况吗?
似乎当我们运行一批UPDATE查询时,这批查询就像一个大事务。
所有的更新都是通过id来更新一行。
当您有并发事务 运行(隐式或显式)时,您会遇到死锁。可能当您说没有交易时,这意味着您的交易是隐含的。
没有"not using transactions"这样的东西。无论您是否明确开始一个交易,总会有一个交易。阅读 Tracking down Deadlocks in SQL Database 以了解如何在 SQL Azure 中获取死锁图。连接到 master
和 运行:
SELECT * FROM sys.event_log
WHERE database_name like '<your db name>'
AND event_type = 'deadlock';
接着分析死锁图搞清楚原因。您进行扫描很可能是因为缺少索引。
似乎尽管我们根本没有使用事务,但我们从 SQL Azure 得到了随机死锁错误。
SQL Azure 能陷入僵局的时候,没有跨国的情况吗?
似乎当我们运行一批UPDATE查询时,这批查询就像一个大事务。
所有的更新都是通过id来更新一行。
当您有并发事务 运行(隐式或显式)时,您会遇到死锁。可能当您说没有交易时,这意味着您的交易是隐含的。
没有"not using transactions"这样的东西。无论您是否明确开始一个交易,总会有一个交易。阅读 Tracking down Deadlocks in SQL Database 以了解如何在 SQL Azure 中获取死锁图。连接到 master
和 运行:
SELECT * FROM sys.event_log
WHERE database_name like '<your db name>'
AND event_type = 'deadlock';
接着分析死锁图搞清楚原因。您进行扫描很可能是因为缺少索引。