请问在mssql“SQL事件探查器”里表格的标题,如
SQL事件探查器数据列详解
SQL事件探查器是一个强大的工具,允许您在创建模板时选择数据列。这些精心选择的数据列,能够在跟踪运行时捕获您所需要的关键信息。SQL事件探查器能够以一种直观的方式展示这些数据,既可以按事件发生的顺序显示,也可以按一个或多个数据列进行分组显示。
例如,如果您想找出执行时间最长的用户事件,您可以通过DBUserName和Duration数据列对事件进行分组。这样,SQL事件探查器将显示每个事件的执行时间,类似于Transact-SQL中的GROUP BY子句。
下面详细介绍一下SQL事件探查器中的一些重要数据列:
1. Application Name:显示创建与SQL Server实例连接的客户端应用程序的名称。这个值是由应用程序传递的,而不是显示的程序名。
2. Binary Data:与在跟踪中捕获的事件类相关的二进制值。
3. ClientProcessID:由主机计算机分配给进程的ID,该进程中的客户端应用程序正在运行。如果客户端提供了客户端进程ID,那么这个数据列就会被填充。
4. Column Permissions:表明是否已设置了列权限。这个数据列通过分析语句文本,确定哪些权限应用到了哪些列。
5. CPU:事件所使用的CPU时间总计,以毫秒为单位。
6. Database ID:USE database语句所指定的数据库ID。如果没有对给定实例发出USE database语句,则是默认数据库。SQL事件探查器将尝试显示数据库名,如果服务器可用的话。数据库的值通过DB_ID函数确定。
7. DatabaseName:正在运行用户语句的数据库的名称。
8. DBUserName:客户端的SQL Server用户名。
9. Duration:事件所花费的时间总计,以毫秒为单位。
10. End Time:事件结束时的时间。某些事件类(如SQL:BatchStarting或SP:Starting)的该列不填充。
11. Error:给定事件的错误号。通常是存储在sysmessages中的错误号。
12. EventClass:捕获的事件类类型。
13. EventSubClass:事件子类的类型,提供有关每个事件类的进一步信息。例如,Execution Warning事件类的事件子类值代表执行警告的类型。
14. FileName:所修改的文件的逻辑名称。
15. Handle:ODBC、OLE DB或DB-Library所用的整数,用以协调服务器的执行。
16. Host Name:正运行客户端的计算机名。如果客户端提供主机名,则填充此数据列。您可以使用HOST_NAME函数来确定主机名。
17. Index ID:受事件影响的对象上的索引ID。您可以使用sysindexes系统表的indid列来确定对象的索引ID。
SQL事件探查器的数据列为您提供了关于服务器活动的详细信息,帮助您深入了解系统性能、故障排查和安全性等方面的问题。通过选择适当的数据列并理解其含义,您可以更有效地使用SQL事件探查器来监控和优化您的数据库系统。在跟踪数据库事件的过程中,我们捕获了一系列与事件类相关的数据。这些数据不仅反映了事件本身的详细信息,也为我们提供了关于系统状态的宝贵信息。以下是对这些数据的解读:
当我们提及整数数据时,我们指的是与捕获的事件类相关联的特定整型值。这些值可能代表了各种事件属性,例如用户的登录名、安全标识号或是事件的状态等。每一条数据都在为我们揭示关于事件背景的重要线索。
用户的登录名是他们在SQL Server安全登录或Microsoft Windows登录凭据下的身份标识,格式为DOMAIN\Username。对于服务器来说,每个登录的安全标识号(SID)是独一无二的。这个SID可以在master数据库的sysxlogins表中找到。
模式是一个描述事件状态的整数。不同的事件会有不同的整数来代表它们当前的状态或是即将请求的状态。
NestLevel表示的是@@NESTLEVEL函数返回的数据的整数形式,它反映了某种嵌套级别或。
对于Windows NT 4.0或Windows 2000的用户,他们的域名和用户名是区分开的。域名代表用户在哪个网络域中,而用户名则是他们在该域内的唯一标识。
系统分配的对象ID和对象名称反映了数据库中正在操作的对象的信息。对象类型以及所有者(数据库用户)的姓名也被记录下来。这些信息的完整性确保了我们可以全面理解数据库中的活动。
权限方面的整型值揭示了正在检查的权限类型。例如,SELECT ALL、UPDATE ALL等,每种权限都有相应的整型数值代表。这些信息有助于理解用户或进程在数据库中的权限级别。
除了上述信息外,我们还追踪了服务器代表事件执行的逻辑和物理磁盘的读写数、事件的严重级别、服务器进程ID、事件启动时间、错误状态代码以及事件是否成功等信息。这些数值为我们提供了事件发生的上下文以及可能的结果。
对于以登录或数据库用户为目标的操作,我们还记录了目标登录名、目标登录的SID以及目标用户的名称。这些目标数据为我们揭示了操作的具体对象。
文本数据是与跟踪内捕获的事件类相关的文本值,它可能包含参数化查询中的变量信息。通过这一列,我们可以获取到更详细的关于事件的文本描述。
事务ID是系统分配的一个标识符,用于唯一地标识一个事务。通过事务ID,我们可以追踪特定事务的详细操作。
这些数据列为我们提供了关于数据库事件的全面视图,帮助我们理解发生了什么、为什么发生以及如何处理这些问题。在默认情况下,所有事件都会填充这些数据列,确保了我们能够进行全面而详细的追踪和分析。在数据的海洋中游弋,我们需要依据筛选的定义来确定追踪目标的方向。在这个过程中,我们通常会将某些关键列纳入筛选列表。接下来,我将逐一为您介绍这些筛选列的定义与获取方式。
首先是数据库名(DatabaseName),如同您所要监测的数据仓库的标签。在某些情况下,如我所遇到的情况,电脑上的设置使得数据库名似乎并不起作用,这可能是因为它并不直接关联到我们追踪的具体数据或事件。除了数据库名之外,我们还可以借助其他筛选列来追踪数据。
数据库ID(DatabaseID)是另一个重要的筛选选项,它代表了您想要检测的数据库的特定标识符(dbid)。您可以通过执行特定的SQL查询语句来获取这个ID,例如使用“select db_id(N'你要监测的库名')”来获取相应的dbid。
接下来是对象名(ObjectName)和对象ID(ObjectID)。这些筛选列适用于您想要监测的具体对象,如数据表、视图等。对象名指的是这些数据库对象的名称,而对象ID则是这些对象的唯一标识符。您可以通过执行类似“select object_id(N'你要监测的对象名')”的SQL查询语句来获取这些ID。
在数据追踪过程中,错误(Error)也是一个重要的筛选维度。如果某个特定的错误编号频繁出现,您可以针对这个错误号进行筛选和追踪。这样可以帮助您更高效地找到问题并解决它们。
至于“Seess”,似乎是一个关于操作结果的标识,可能表示操作成功或失败的状态。在排错过程中,您可以过滤掉成功的处理记录,只关注那些操作失败或出现异常的情况。这对于快速定位和解决问题非常有帮助。
当这一切定义完毕后,通过Cambrian的渲染功能('body')将这些筛选条件应用于实际的数据库监控操作中。这样,我们就可以精确地追踪到我们关心的数据变化和处理状态,从而更有效地管理和优化我们的数据库系统。
微信营销
- 请问在mssql“SQL事件探查器”里表格的标题,如
- 浅谈Vue 初始化性能优化
- xmlplus组件设计系列之选项卡(Tabbar)(5)
- asp.net core中如何使用cookie身份验证
- PHP实现的分解质因数操作示例
- ASP.NET学习CORE中使用Cookie身份认证方法
- ASP.NET中HiddenField隐藏域控件的使用方法
- MySQL根据某一个或者多个字段查找重复数据的sq
- 微信小程序 利用css实现遮罩效果实例详解
- 单页面vue引入百度统计的使用方法示例详解
- MVC实现下拉框联动效果(单选)
- 用nodeJS搭建本地文件服务器的几种方法小结
- 微信小程序实战篇之购物车的实现代码示例
- 通过jQuery学习js类型判断的技巧
- swiper.js插件实现pc端文本上下滑动功能示例
- 利用ASP.NET MVC+Bootstrap搭建个人博客之praise.js点赞