如何截获提交道SQLServer服务器上的SQL语句?

来源:百度知道 编辑:UC知道 时间:2024/05/07 18:59:10
我想通过钩子之类的技术截获提交道SQL Server服务器上的SQL指令,请问要截取哪些DLL的函数呢?
还有如果能不编程就能监控这些SQL命令就更好了,SQL Server提供了这些工具了吗?

SQL2000自带的有一个叫事件侦察器的工具.你可以用这个开一个跟踪.这样,那边企业管理器或是查询分析器里有什么命令或操作执行都会被跟踪到的.不错的.
我们一般用这个工具来监测软件(和数据库相接的部分)的运行情况.

打开
"开始"-"所有程序"-"Microsoft SQL Server"-"事件探查器"
打开程序之后点菜单栏的
"文件"-"新建"-"跟踪"
然后执行你要看SQL语句的程序.事件探查器就会把该时间段内所有执行的SQL语句列出来.

相关知识如下:
使用 SQL 事件探查器进行监视
SQL 事件探查器是图形工具,使系统管理员得以监视 Microsoft® SQL Server™ 实例中的事件。可以捕获有关每个事件的数据并将其保存到文件或 SQL Server 表中供以后分析。例如,可以对生产环境进行监视,了解执行速度太慢而妨碍性能的存储过程。

使用 SQL 事件探查器只监视感兴趣的事件。如果跟踪变得太大,可以基于需要的信息进行筛选,以便只收集事件数据的子集。监视太多事件类会增加服务器和监视进程的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是在进行长时间监视时。

在跟踪事件后,SQL 事件探查器允许重播在 SQL Server 实例上捕获的事件数据,因此可以如事件当初发生时一样有效地重新执行保存的事件。

使用 SQL 事件探查器可以:

监视 SQL Server 实例的性能。

调试 Transact-SQL 语句和存储过程。

识别执行慢的查询。

在工程开发阶段,通过单步执行语句测试 SQL 语句和存储过程,以确认代码按预期运行。

通过捕获生产系统中的事件并在测试系统中重播它们来解决 SQL Server 中的问题。这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。

审核和复查