Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 2005 Sql Server已锁定表_Sql Server 2005_Locking - Fatal编程技术网

Sql server 2005 Sql Server已锁定表

Sql server 2005 Sql Server已锁定表,sql-server-2005,locking,Sql Server 2005,Locking,我认为这是不可能的,但我想确定一下 有没有办法让我知道一张桌子什么时候锁上了,可能锁了多长时间?我知道我可以看到一个表当前是否被锁定,但我希望有一个锁的“历史记录”。从Red Gate查看此工具。我经常用它来做这种事情。此外,它还让我可以查看长时间运行的查询和大量其他有用的信息。有最后一小时,最后一天,永远等过滤器 从红门检查此工具。我经常用它来做这种事情。此外,它还让我可以查看长时间运行的查询和大量其他有用的信息。有最后一小时,最后一天,永远等过滤器 在其他回复中提到的RedGate工具的“免

我认为这是不可能的,但我想确定一下


有没有办法让我知道一张桌子什么时候锁上了,可能锁了多长时间?我知道我可以看到一个表当前是否被锁定,但我希望有一个锁的“历史记录”。

从Red Gate查看此工具。我经常用它来做这种事情。此外,它还让我可以查看长时间运行的查询和大量其他有用的信息。有最后一小时,最后一天,永远等过滤器


从红门检查此工具。我经常用它来做这种事情。此外,它还让我可以查看长时间运行的查询和大量其他有用的信息。有最后一小时,最后一天,永远等过滤器

在其他回复中提到的RedGate工具的“免费”替代品是MS-SQL Server Profiler(请参见SQL Server Management Studio中的“工具”菜单)。此工具允许您通过指定要监视和/或记录的事件类型来定义“跟踪”。甚至[在SQL2008中,可能在旧版本中]还有一个用于锁定问题的默认模板:TSQL_锁

请注意,分析探查器的日志可能需要一些工作/计算。可以根据一组特定的标准过滤事件(以及在源位置过滤这些事件,即首先从日志中排除这些事件),但诸如RedGate之类的第三方产品可能提供更易于使用、更好的聚合功能等

编辑
(见Metju的评论) 上面建议的解决方案意味着可以提前在探查器工具中记录与锁相关的事件。在MS-SQL 2005中,没有,至少没有公开的文档,可以访问有关锁的完整历史信息,“事后”。但是,根据需要,有时可能会从SQL活动监视器(Management Studio左侧数据库等树中的“管理”)收集足够的洞察力,尤其是“对象锁定”视图。此信息隐式可用(无需任何设置),通常足以确定死锁和类似问题的根源。

其他响应中提到的RedGate工具的“免费”替代品是MS-SQL Server Profiler(请参阅SQL Server Management Studio中的“工具”菜单)。此工具允许您通过指定要监视和/或记录的事件类型来定义“跟踪”。甚至[在SQL2008中,可能在旧版本中]还有一个用于锁定问题的默认模板:TSQL_锁

请注意,分析探查器的日志可能需要一些工作/计算。可以根据一组特定的标准过滤事件(以及在源位置过滤这些事件,即首先从日志中排除这些事件),但诸如RedGate之类的第三方产品可能提供更易于使用、更好的聚合功能等

编辑
(见Metju的评论)
上面建议的解决方案意味着可以提前在探查器工具中记录与锁相关的事件。在MS-SQL 2005中,没有,至少没有公开的文档,可以访问有关锁的完整历史信息,“事后”。但是,根据需要,有时可能会从SQL活动监视器(Management Studio左侧数据库等树中的“管理”)收集足够的洞察力,尤其是“对象锁定”视图。这些信息是隐式可用的(不需要任何设置),通常足以确定死锁和类似问题的根源。

如果不运行监控工具(您自己的、第三方或处理SQL profiler的输出),就不会有死锁。

如果不运行监控工具(您自己、第三方或正在处理SQL profiler的输出)不,没有。

相关但不重复:相关但不重复:因此,唯一的方法是我创建自己的审计并从现在开始记录,2005年没有内置审计?我确实需要它,因为发生了一些事情,我们需要知道发生了什么。不过,多谢你小心——你可以得到很多“点击”在跟踪锁定活动时。没错,Phillip,当我添加了一小段关于筛选和有限聚合功能的内容时,我也是这么想的。@Metju-没错。SQL Server中的任何地方都不会以本机方式维护锁定历史。@Chris J.感谢您确认隐式/本机维护的历史数据的缺乏。@Metju,请参见答案中的编辑,并建议查看
SQL Server活动监视器(如果您还没有这样做的话)也许可以确定其中的一些信息,至少在一定程度上,可以让你深入了解发生了什么。因此,唯一的方法是我创建自己的审计,并从现在开始记录,2005年没有内置的审计?我确实需要这些信息,因为发生了一些事情,我们需要知道发生了什么。不过,多谢了,小心点——你可以得到很多“点击”在跟踪锁定活动时。没错,Phillip,当我添加了一小段关于筛选和有限聚合功能的内容时,我也是这么想的。@Metju-没错。SQL Server中的任何地方都不会以本机方式维护锁定历史。@Chris J.感谢您确认隐式/本机维护的历史数据的缺乏。@Metju,请参阅答案中的编辑,并建议查看
SQL Server活动监视器(如果您还没有这样做),以确定其中的一些信息,这些信息至少在一定程度上可以帮助您了解发生了什么。