利用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
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的数据库操作,这无疑是微软技术的糖果。