首页 > 数据库 >【SQL跟踪工具】SQL Profiler 跟踪器使用

【SQL跟踪工具】SQL Profiler 跟踪器使用

时间:2024-07-23 15:18:30浏览次数:15  
标签:数据库 跟踪器 Profiler 事件 SQL Server 跟踪

阅读目录

 

 什么是SQL Profiler

SQL Server Profiler 是一个功能丰富的界面,用于创建和管理跟踪并分析和重播跟踪结果。 事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播特定的一系列步骤。

 

为什么要使用SQL Profiler

 Microsoft SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 Analysis Services 的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。

例如:

可以对生产环境进行监视.

了解哪些存储过程由于执行速度太慢而影响了性能。

同时SQL Server Profiler 用于下列活动中:

逐步分析有问题的查询以找到问题的原因。

查找并诊断运行慢的查询。

捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。

监视 SQL Server 的性能以优化工作负荷。 有关为数据库工作负荷而优化物理数据库设计的信息,请参阅数据库引擎优化顾问。

使性能计数器与诊断问题关联。

SQL Server Profiler 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。

 

如何使用SQL Profiler

1.首先是打开SQL Profiler,如下图:

 

 2.打开工具后收先需要选择对应的数据库,如下图:

 

3.点击确定之后将标签页切换到时间选择页签,勾选如下选项,如下图:

 

4.将显示所有列勾选,同时点击列筛选器,弹出对应的界面,如下图:

 

 

 

5.打开列筛选器的相应界面后,可以根据两种方式进行筛选过滤,分别是DataBaseID和HostName,如下图:

  • ApplicationName:这个是创建 SQL Server 连接的那个客户端应用程序的名称。
  • BinaryData: 依赖于跟踪中捕获的事件类的二进制值。
  • ClientProcessID: 调用 SQL Server 的应用程序的进程 ID。
  • CPU: 事件使用的 CPU 时间(毫秒)。
  • Duration: 事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
  • EndTime: 事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
  • LoginName: 用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域\用户名”)
  • NTusername: Windows用户名。
  • Reads: 由服务器代表事件读取逻辑磁盘的次数。
  • TextDate: 依赖于跟踪中捕获的事件类的文本值;
  • SPID: SQL Server 为客户端的相关进程分配的服务器进程 ID。
  • StratTime: 事件(如果可用)的启动时间。
  • Writes: 由服务器代表事件写入物理磁盘的次数。

   

6.如果是根据DataBaseID进行过滤的时候,需要到数据库中查找当前数据库的id,如下图:

7.查找到对应的数据库id之后,可以在DataBaseID过滤条件中填入对应的值,如下图:

8.也可通过主机名进行过滤

9.就我个人而言,SQL Profiler可以用做两个用途,一个是查看执行过的SQL,另外一个就是查看SQL响应时间,如下图: 

 

标签:数据库,跟踪器,Profiler,事件,SQL,Server,跟踪
From: https://www.cnblogs.com/LaiYun/p/17465875.html

相关文章

  • MySQL第一阶段:表关系
    表关系表关系分为一对多、多对多、一对一表关系之一对一一对一比如用户和用户的详细内容一对一关系多用于表拆分,将一个实体中经常要用的字段放在一张表,不经常使用的字段放到另一张表,用于提升查询性能。实现方式:在任意一方加入外键,关联另一方的主键,并且设置外键为唯一约束......
  • MySQL服务启动与关闭
    1.服务启动与关闭在生产环境中,数据库服务的运行状态一般是不会进行随意调整的,在特殊场景下需要提前审批后,才能进行调整。在进行数据库服务关闭前,可以将业务先切换到备库(从库),再停止原有主库服务。1.1常规启动和关闭方式MySQL数据库的常规启动和关闭方式有systemd和sys-v......
  • Net core Web Api 8.0连接sqlserver
    1.在appsettings文件配置连接字符串{    "ConnectionStrings":{        "DefaultConnection":"DataSource=Win10p22h2vm;InitialCatalog=UserInfo;UserID=sa;Password=123456;TrustServerCertificate=True"    },DataSource是连接数据的......
  • pandas 读取 SQL 表会引发 NotImplementedError
    有人可以帮忙照顾熊猫吗?我无法读取sqlite3表。这是我的代码:importpandasaspdimportsqlite3assqwithsq.connect("master.db")ascon:table="personal"df=pd.read_sql_table(table,con)数据库文件和代码位于同一目录中。Python引发No......
  • SQL 注入漏洞详解 - Union 注入
    1)漏洞简介SQL注入简介SQL注入即是指Web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在Web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到......
  • laravel: 调试打印sql
    一,代码:<?phpnamespaceApp\Models;useIlluminate\Database\Eloquent\Factories\HasFactory;useIlluminate\Database\Eloquent\Model;useIlluminate\Support\Facades\DB;classReadLogModelextendsModel{useHasFactory;//定义关联的数据表......
  • SQL批量插入的优化心得
    pkgRiskDataVOList=mapper.getBuyAndSaleFee(ImmutableMap.ofEntries(kv("iTradeDate",iTradeDate)));StringfnFmtNumber16=pkiPub.fnFmtNumber(pkgRiskDataVOList.getBuyFee(),6);StringfnFmtNumber17=pkiPub......
  • 智能停车场系统--前后端分离(可直接落地)使用数据:vue,springBoot,redis,mybatis,mysql等
    系统首页-统计停车车收费收费数据展示实现代码:对菜单控制代码@AutowiredprivateMenuServicemenuService;@AutowiredprivateRoleMenuServiceroleMenuService;@GetMapping("/list")publicResultlist(){List<MenuRoleVO>menuRoleList=this.menuServi......
  • MySQL server has gone away
    环境:Os:Centos7DB:mysql5.7.39 导入大量数据的时候报错误:[root@localhost~]#mysql-hlocalhost-uroot-pmysql--default-character-set=utf8-Ddev_test</tmp/db_test_20240723mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure.......
  • 在MySQL中 Truncate Delect Drop 的区别
    在MySQL中TruncateDelectDrop的区别 面试问题:----请详细描述MySQL中TRUNCATETABLE、DELETEFROM和DROPTABLE三个命令的区别,包括它们的作用、性能影响、事务日志的生成以及对表结构和触发器的影响。----回答:----在MySQL中,TRUNCATETABLE、DELETEFROM和DRO......