SQL Server 事件探查器 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤。
SQL Server 事件探查器#
Microsoft SQL Server 事件探查器 是 SQL 跟踪的图形用户界面,用于监视 数据库引擎 或 Analysis Services 的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表*以后分析。 例如,可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能。 SQL Server 事件探查器 用于如下活动:
-
逐步分析有问题的查询以找到问题的原因。
-
查找并诊断运行慢的查询。
-
捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。
-
监视 SQL Server 的性能以优化工作负荷。 有关为数据库工作负荷而优化物理数据库设计的信息
-
使性能计数器与诊断问题关联。
注意:SQL Server 事件探查器 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。
事件#
事件是在 SQL Server 数据库引擎实例中生成的操作。 示例包括:
- 登录连接、失败和断开。
- Transact-SQL
SELECT
、INSERT
、UPDATE
和DELETE
语句。 - 远程过程调用 (RPC) 批处理状态。
- 存储过程的开始或结束。
- 存储过程中的语句的开始或结束。
- SQL 批处理的开始或结束。
- 写入到 SQL Server 错误日志的错误。
- 在数据库对象上获取或释放的锁。
- 打开的游标。
- 安全权限检查。
启动SQL Profiler工具#
如果你在安装SqlServer的时候勾上了这个工具,那么就一定可以搜索的出来,我在win10的情况下直接进行搜索就可以了。
那么如果你不是win10,也可以直接打开SQL server 然后点击工具就可以看到该工具了!
我们点击下之后会跳出来SQL server Profiler这个工具,需要我们进行连接到 SQL Server 实例的权限。
成功连接之后会跳出一个弹框,那么在此其中去选择你要跟踪的事件。
SQL profiler支持多连接跟踪,那么也就是可以分布式监控了,那么我们点击运行,就可以看到这样的可视化界面了。
我用它我无非就是看下执行的什么SQL还有时间了,我执行了一条这样的sql,效果图如下。
use EFCore
从刚才的15行直接变成了313,是不是挺可怕的,当你不限制,分布式监控的情况下一秒几千行。。。最好还是要做一做事件限制和数据列。
那么如何保存记录日志呢?
注意:关闭了这个可视化界面,只要你的服务没有关闭,那么这个是一直跑着呢,怎么停止呢? (选中那么点那个)
刚才我上面说过,一下子出来了那么多记录,我们应该怎么办,网上很多底层的东西,类似CPU,进程号什么的,我是个渣渣,我只会TextData,大概就是这么做吧。
利用SQL profile可以记录mssql的数据库操作,这无疑是微软技术的糖果。