Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何找到进程中涉及的锁_Sql Server - Fatal编程技术网

Sql server 如何找到进程中涉及的锁

Sql server 如何找到进程中涉及的锁,sql-server,Sql Server,我正在运行一个SQL事务,其中包含一组语句 该事务偶尔会导致其他进程死锁,因此我从事务中删除了一些并不重要的内容。现在,这些都是在交易之前单独完成的 我希望能够比较更改前后SQL之间发生的锁定,这样我就可以确信更改将带来不同 我预计以前会发生更多的锁定,因为事务中有更多的东西 有我可以使用的工具吗?我可以很容易地得到这两种情况的SQL概要文件 我知道像sp_who,sp_who 2这样的事情,但我为这些事情挣扎的是,这是一个特定时刻的快照。我想要从开始到结束的完整画面。您可以使用内置过程:--s

我正在运行一个SQL事务,其中包含一组语句


该事务偶尔会导致其他进程死锁,因此我从事务中删除了一些并不重要的内容。现在,这些都是在交易之前单独完成的

我希望能够比较更改前后SQL之间发生的锁定,这样我就可以确信更改将带来不同

我预计以前会发生更多的锁定,因为事务中有更多的东西

有我可以使用的工具吗?我可以很容易地得到这两种情况的SQL概要文件


我知道像sp_who,sp_who 2这样的事情,但我为这些事情挣扎的是,这是一个特定时刻的快照。我想要从开始到结束的完整画面。

您可以使用内置过程:--sp_who2

sp_who2还接受SPID的可选参数。如果传递了spid,则sp_who2的结果仅显示正在执行的spid的一行或多行

有关更多详细信息,请查看:master.dbo.sysprocesss表

SELECT * FROM master.dbo.sysprocesses where spid=@1
下面的代码显示了当前命令的读写,以及整个SPID的读写次数。它还显示正在使用的协议(TCP、NamedPipes或共享内存)


您可以使用内置过程--sp_who2

sp_who2还接受SPID的可选参数。如果传递了spid,则sp_who2的结果仅显示正在执行的spid的一行或多行

有关更多详细信息,请查看:master.dbo.sysprocesss表

SELECT * FROM master.dbo.sysprocesses where spid=@1
下面的代码显示了当前命令的读写,以及整个SPID的读写次数。它还显示正在使用的协议(TCP、NamedPipes或共享内存)


你可以用。设置包含Lock:Acquired和Lock:Released事件的探查器跟踪。运行“before”查询。运行“after”查询。比较并对比所使用的锁(以及锁的类型)。对于上下文,您可能还希望包括一些语句或批处理事件,以查看哪些语句导致每个锁被占用。

您可以使用。设置包含Lock:Acquired和Lock:Released事件的探查器跟踪。运行“before”查询。运行“after”查询。比较并对比所使用的锁(以及锁的类型)。对于上下文,您可能还希望包括一些语句或批处理事件,以查看哪些语句导致每个锁被执行。

尝试死锁疑难解答圣经:-)“因此我从事务中删除了一些并不重要的内容”-也许您可以“准确地”识别导致锁定的原因…如果您有事务中不需要的代码,为什么它首先存在?您使用哪个SQL Server版本?mellamokb-谢谢,但我已经使用过了。我发现了僵局,并理解其原因。无论如何,我认为我已经做出了一些改变,以“消除”僵局。但我只想比较一下锁定,因为我不想将其投入生产,只希望得到最好的.SQL版本-2008 R2。米奇——我不确定你的问题的相关性。”为什么它会出现在第一个地方?因为和其他人一样,在你第一次开发某个东西时,你不一定知道你所做的事情的全部要求或含义。否则的想法是天真的。该软件已投入生产超过6个月,因此已被广泛理解。它可以很好地扩展,但需要更大的扩展。请尝试死锁疑难解答圣经:-)“因此我从事务中删除了一些不太重要的内容”-也许您可以“准确地”确定导致锁定的原因…如果您有事务中不需要的代码,首先为什么会有它?你使用哪个SQL Server版本?mellamokb-谢谢,但我已经用过了。我发现了僵局,并理解其原因。无论如何,我认为我已经做出了一些改变,以“消除”僵局。但我只想比较一下锁定,因为我不想将其投入生产,只希望得到最好的.SQL版本-2008 R2。米奇——我不确定你的问题的相关性。”为什么它会出现在第一个地方?因为和其他人一样,在你第一次开发某个东西时,你不一定知道你所做的事情的全部要求或含义。否则的想法是天真的。该软件已投入生产超过6个月,因此已被广泛理解。它的伸缩性非常好,但需要更大的伸缩性。我第一次这么做时,有一些隐藏列我没有选择,因此我无法将锁分组在一起,也无法理解锁指的是什么。重复一遍……在所有情况下,我仍然无法很好地将锁分组,但大部分情况下我都可以。我可以看到我的操作前后的差异,这让我得出了一个积极的结论。第一次这样做时,我没有选择一些隐藏的列,因此我无法将锁组合在一起,也无法理解锁指的是什么。重复一遍……在所有情况下,我仍然无法很好地将锁分组,但大部分情况下我都可以。我可以看到我的工作前后的不同,这让我得出了一个积极的结论。