MSSQL 存在共享锁 S、更新锁 U、排他锁 X、意向锁等多种锁机制,读操作加共享锁,写入、删除添加排他锁,同一数据无法同时读写,长事务极易互相等待形成死锁,数据库会自动牺牲其中一个事务释放资源。死锁高发场景:未建立索引导致行锁升级表锁、事务内操作表顺序不统一、事务包含大量无关查询造成执行耗时。优化方案:统一业务访问数据表顺序,更新条件字段建立有效索引,拆分大批量更新语句,缩短事务执行周期,事务内剔除接口调用、循环查询等耗时逻辑。可开启死锁捕获日志,记录死锁 SQL 语句,定期优化高危脚本,高峰期减少大批量数据同步任务,从根源降低死锁发生概率。