Sql server SQL Server锁释放

Sql server SQL Server锁释放,sql-server,locking,Sql Server,Locking,假设我有一个进程正在更新一条记录,并且遇到一个记录锁,阻止它继续。我假设进程通常会阻塞(而不是失败并要求应用程序实现自己的重试逻辑) 假设是这样,该块/锁是如何释放的?我看到了两种常见的替代方案:(1)驱动程序每隔N毫秒轮询一次SQL Server;(2) SQL Server在释放锁时向驱动程序发出信号 我确信驱动程序和配置等之间存在一些差异,我正在寻找一个总体思路。两者都不是。驱动程序不参与阻塞过程-执行查询的内部SQL Server线程(或光纤)被阻塞,可能涉及多种机制(一些旋转等待、一些

假设我有一个进程正在更新一条记录,并且遇到一个记录锁,阻止它继续。我假设进程通常会阻塞(而不是失败并要求应用程序实现自己的重试逻辑)

假设是这样,该块/锁是如何释放的?我看到了两种常见的替代方案:(1)驱动程序每隔N毫秒轮询一次SQL Server;(2) SQL Server在释放锁时向驱动程序发出信号


我确信驱动程序和配置等之间存在一些差异,我正在寻找一个总体思路。

两者都不是。驱动程序不参与阻塞过程-执行查询的内部SQL Server线程(或光纤)被阻塞,可能涉及多种机制(一些旋转等待、一些轮询、一些阻塞等)。驱动程序正在等待结果。

两者都不是。驱动程序不参与阻塞过程-执行查询的内部SQL Server线程(或光纤)被阻塞,可能涉及多种机制(一些旋转等待、一些轮询、一些阻塞等)。驱动程序正在等待结果。

客户端“驱动程序”通常不参与SQL Server锁定,也不被告知。SQL Server确实会在其命令请求(通常是批处理)完成执行和/或准备将数据传输回客户端时通知客户端。

客户端“驱动程序”通常不参与,也不被告知SQL Server的锁定。SQL Server会在其命令请求(通常是批处理)完成执行和/或准备将数据传输回客户端时通知客户端