sql-server – 使用SQL Server Profiler进行日志表访问
发布时间:2020-12-12 16:19:45 所属栏目:MsSql教程 来源:网络整理
导读:有没有办法使用Profiler来确定查询是否正在访问表? 我看到一个名为Object:Opened的事件(表示何时访问了一个对象,例如SELECT,INSERT或DELETE语句)和Object:Closed,但这些似乎不起作用. 特别是,我使用Object:Opened和Object创建了一个简单的跟踪:没有过滤
有没有办法使用Profiler来确定查询是否正在访问表?
我看到一个名为Object:Opened的事件(表示何时访问了一个对象,例如SELECT,INSERT或DELETE语句)和Object:Closed,但这些似乎不起作用. 特别是,我使用Object:Opened和Object创建了一个简单的跟踪:没有过滤器关闭(标准的“应用程序名称不像’SQL Profiler’”过滤器除外)并运行SELECT TOP 1 * FROM TableName,但没有报告任何事件. 那么,有没有办法使用Profiler来确定是否正在从中选择一个表? 解决方法调查SQL正在获取的锁可能有所帮助. Select语句通常会获取共享锁(LCKMS),因此您可以对此进行过滤.在Profiler中查找Locks:Acquired事件. ObjectID将解析为您可以使用OBJECT_NAME(objectid)轻松查找的表.模式将告诉您正在获取的锁的类型共享锁是3.有关更多信息,请查看here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |