我想在sql server profiler中监视在我的数据库的特定表上运行的所有DML命令。我使用的是sql server 2008 R2
答案 0 :(得分:10)
除了建议的解决方案,您还可以使用读取SQL Server跟踪的第三方工具。
ApexSQL Comply是一个SQL Server审核工具,它使用SQL跟踪,从中读取相关信息,并将其存储到其中央存储库数据库中。它允许您选择要监视的表和事件类型。您可以指定监视每个数据库的不同事件集。
它提供了各种内置报告,您可以在其中按特定的DML操作进行过滤。它还具有自定义报告,因此您可以创建自己的报告。
您可以将工具设置为仅监控表格上的特定事件,或者如果您监控所有事件,则可以使用报告上的过滤器仅显示DML命令。
免责声明:我作为支持工程师为ApexSQL工作
答案 1 :(得分:9)
是的确定 - 你可能想看看Brad McGehee的这个视频系列:
Mastering SQL Server Profiler - Video Training Course
它非常有用,并教您SQL Server Profiler的基础知识和一些更高级的概念。强烈推荐。
或者这是Brent Ozar的10分钟短片:SQL Server Profiler Tutorial Video
在SQL Server Profiler中,创建新的配置文件跟踪时,可以定义过滤器。您可以通过大量不同的标准限制收集的统计信息 - 其中一个是Object Name
,例如{{1}}。要检查的表名。
有关该特定主题的详情,请参阅Profiler Filters。
答案 2 :(得分:4)
根据您的确切需求,您可能还需要查看extended events。与在性能,过滤器的灵活性和可用信息方面使用SQL事件探查器/ SQL跟踪相比,这有几个优点。
如果您决定进一步调查此问题,您可能会发现我的答案to another question对于启动和运行非常有用。