用编程的方式将当前服务器上SQL SERVER中正执行的所有T-SQL语句记录下来 <转>

简介:
标题所描述的功能是简单的,下面的例子也很简单,但是你可以根据自己的需要进行扩充功能,我这里只是抛砖引玉而以,呵呵……,其实你有时间可以自己做一个SQL Server Profiler玩一玩。支持SqlServer2005和SqlServer2008
第一步:
添加引用:Microsoft.SqlServer.ConnectionInfo
using  Microsoft.SqlServer.Management.Trace;
using  Microsoft.SqlServer.Management.Common;
第二步:
配置连接信息
            ConnectionInfoBase conninfo  =   new  SqlConnectionInfo();
            ((SqlConnectionInfo)conninfo).ServerName 
=   " ServerName " ;
            ((SqlConnectionInfo)conninfo).UserName 
=   " UserName " ;
            ((SqlConnectionInfo)conninfo).Password 
=   " Password " ;
            ((SqlConnectionInfo)conninfo).UseIntegratedSecurity 
=   false ;
第三步:
创建mytdf.tdf文件,放入运行程序所在的文件夹里。
注:.tdf文件是用来在后面做为读取数据的模版用的,你可以在SQL Server Profiler里创建模版自己创建一个新的文件。
读取信息(包括T-SQL语句等等,按需要添加,这里只添加获取正在执行的T-SQL语句功能)
复制代码
            TraceServer trace  =   new  TraceServer();
            trace.InitializeAsReader(conninfo, 
" mytdf.tdf " );

            
while  (trace.Read())
            {
                
// Statements;
                Console.WriteLine(trace[ " TextData " ]);
            }
            Console.Read();
            trace.Close();
复制代码
全部代码:
复制代码

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Management.Trace;
using Microsoft.SqlServer.Management.Common;

namespace ConsoleApplication2
{
    
class Program
    {
        
static void Main(string[] args)
        {
            ConnectionInfoBase conninfo 
= new SqlConnectionInfo();
            ((SqlConnectionInfo)conninfo).ServerName 
= "ServerName";
            ((SqlConnectionInfo)conninfo).UserName 
= "UserName";
            ((SqlConnectionInfo)conninfo).Password 
= "Password";
            ((SqlConnectionInfo)conninfo).UseIntegratedSecurity 
= false;

            TraceServer trace 
= new TraceServer();
            trace.InitializeAsReader(conninfo, 
"mytdf.tdf");

            
while (trace.Read())
            {
                
//Statements;
                Console.WriteLine(trace["TextData"]);
            }
            Console.Read();
            trace.Close();
        }
    }
}
复制代码

原文地址:http://www.cnblogs.com/skysing/archive/2009/08/18/1548696.html

 

 

本文转自温景良(Jason)博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/08/18/1548720.html,如需转载请自行联系原作者

相关文章
|
7月前
|
SQL Web App开发 安全
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
581 2
SQL Server 2025 年 8 月更新 - 修复 CVE-2025-49759 SQL Server 特权提升漏洞
|
6月前
|
SQL Web App开发 安全
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
371 0
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
|
7月前
|
SQL 容灾 安全
云时代SQL Server的终极答案:阿里云 RDS SQL Server如何用异地容灾重构系统可靠性
在数字化转型的浪潮中,数据库的高可用性已成为系统稳定性的生命线。作为经历过多次生产事故的资深开发者,肯定深知传统自建SQL Server架构的脆弱性——直到遇见阿里云 RDS SQL Server,其革命性的异地容灾架构彻底改写了游戏规则。
|
8月前
|
SQL Web App开发 安全
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
580 0
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
|
12月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
379 16
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
4126 4
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
442 3
|
网络协议 Ubuntu Linux
gpg从公钥服务器接收失败(gpg: keyserver receive failed: Server indicated a failure)
通过上述步骤,大多数情况下应该能够解决GPG从公钥服务器接收失败的问题。如果问题依旧存在,可能需要进一步调查与公钥服务器相关的更深层次的技术问题,或者考虑在相关社区论坛寻求帮助。
3523 1
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
722 1
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
1778 1