摘要: 锁模式SQL Server 2008 R2MicrosoftSQL Server 数据库引擎使用不同的锁模式锁定资源,这些锁模式确定了并发事务访问资源的方式。下表显示了数据库引擎使用的资源锁模式。锁模式说明共享 (S)用于不更改或不更新数据的读取操作,如 SELECT 语句。更新 (U)用于可更新的资源中。 防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。排他 (X)用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。 确保不会同时对同一资源进行多重更新。意向用于建立锁的层次结构。 意向锁包含三种类型:意向共享 (IS)、意向排他 (IX) 和意向排 阅读全文
posted @ 2012-03-27 16:07 野三坡 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁:?1234567891011121314SELECT @findCount=COUNT(id) FROM MyTableWHERE [fk_related_id]=@ArgumentIF (@findCount > 0)BEGINROLLBACK TRANSACTIONRETURN ERROR_CODEENDINSERT INTO MyTable ([fk_related_id],…)VALUES (@Argument,…)COMMIT TRANSACTIONRETURN 阅读全文
posted @ 2012-03-27 15:01 野三坡 阅读(228) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-03-27 14:30 野三坡 阅读(4) 评论(0) 推荐(0) 编辑