SQLServer Profiler 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果 这些事件保存在一个跟踪文件中,可以对该文件进行分析或用它来重播一系列特定的步骤。一般的来说,哪台电脑,使用什么权限,执行了什么操作(增删改查,试图,触发器。。。)。我们一般使用这个功能去检测用户请求的哪个功能比较多,执行什么操作最多,那些操作比较耗时,检测死锁等一些事物,有的时候我们的经验有限,所以必要的时候需要配合工具找到问题,然后解决问题。
下面我们就来简单的使用profiler
通过windows开始--搜索SQL Server Profiler打开
通过SQL Server Management Studio--工具--找到SQL Server Profiler
我们忽略登录,直接来到新建一个跟踪器吧,这里注意的是,我们必须得用sa登录
这里简单的介绍下显示列:
TextDate 依赖于跟踪中捕获的事件类的文本值;
ApplicationName 创建 SQL Server 连接的客户端应用程序的名称。此列由该应用程序传递的值填充,而不是由所显示的程序名填充的;
NTusername Windows 用户名。
LoginName 用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域\用户名”)
CPU 事件使用的 CPU 时间(毫秒)。
Reads 由服务器代表事件读取逻辑磁盘的次数。
Writes 由服务器代表事件写入物理磁盘的次数。
Duration 事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
ClientProcessID 调用 SQL Server 的应用程序的进程 ID。
SPID SQL Server 为客户端的相关进程分配的服务器进程 ID。
StratTime 事件(如果可用)的启动时间。
EndTime 事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
BinaryData 依赖于跟踪中捕获的事件类的二进制值。
设置筛选操作和用户和使用权限
下面我们来查询操作,看看这个跟踪器会显示什么结果
SQL Server Profiler显示结果