利用SQL Profiler 追踪数据库操作

时间:2022-06-14 06:04:01

原文: 利用SQL Profiler 追踪数据库操作

SQL Server 事件探查器 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤。

SQL Server 事件探查器#

Microsoft SQL Server 事件探查器 是 SQL 跟踪的图形用户界面,用于监视 数据库引擎 或 Analysis Services 的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表*以后分析。 例如,可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能。 SQL Server 事件探查器 用于如下活动:

  • 逐步分析有问题的查询以找到问题的原因。

  • 查找并诊断运行慢的查询。

  • 捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。

  • 监视 SQL Server 的性能以优化工作负荷。 有关为数据库工作负荷而优化物理数据库设计的信息

  • 使性能计数器与诊断问题关联。

注意:SQL Server 事件探查器 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。

 事件#

事件是在 SQL Server 数据库引擎实例中生成的操作。 示例包括:

  • 登录连接、失败和断开。
  • Transact-SQL SELECTINSERTUPDATE 和 DELETE 语句。
  • 远程过程调用 (RPC) 批处理状态。
  • 存储过程的开始或结束。
  • 存储过程中的语句的开始或结束。
  • SQL 批处理的开始或结束。
  • 写入到 SQL Server 错误日志的错误。
  • 在数据库对象上获取或释放的锁。
  • 打开的游标。
  • 安全权限检查。

启动SQL Profiler工具#

如果你在安装SqlServer的时候勾上了这个工具,那么就一定可以搜索的出来,我在win10的情况下直接进行搜索就可以了。

利用SQL Profiler 追踪数据库操作

那么如果你不是win10,也可以直接打开SQL server 然后点击工具就可以看到该工具了!

利用SQL Profiler 追踪数据库操作

 我们点击下之后会跳出来SQL server Profiler这个工具,需要我们进行连接到 SQL Server 实例的权限。

利用SQL Profiler 追踪数据库操作

成功连接之后会跳出一个弹框,那么在此其中去选择你要跟踪的事件。

利用SQL Profiler 追踪数据库操作

SQL profiler支持多连接跟踪,那么也就是可以分布式监控了,那么我们点击运行,就可以看到这样的可视化界面了。

利用SQL Profiler 追踪数据库操作

我用它我无非就是看下执行的什么SQL还有时间了,我执行了一条这样的sql,效果图如下。

use EFCore

利用SQL Profiler 追踪数据库操作

从刚才的15行直接变成了313,是不是挺可怕的,当你不限制,分布式监控的情况下一秒几千行。。。最好还是要做一做事件限制和数据列。

 那么如何保存记录日志呢?

 利用SQL Profiler 追踪数据库操作

注意:关闭了这个可视化界面,只要你的服务没有关闭,那么这个是一直跑着呢,怎么停止呢? (选中那么点那个)

利用SQL Profiler 追踪数据库操作

刚才我上面说过,一下子出来了那么多记录,我们应该怎么办,网上很多底层的东西,类似CPU,进程号什么的,我是个渣渣,我只会TextData,大概就是这么做吧。

利用SQL Profiler 追踪数据库操作

 利用SQL profile可以记录mssql的数据库操作,这无疑是微软技术的糖果。