性能监视器和SQL Server Profile 的功能和用途分别是什么
1个回答
展开全部
使用SQL Server Profiler
1. 了解SQL Server Profiler
SQL Server Profiler 是图形化实时监视工具,能帮助系统管理员监视数据库和服务器之行为, 比如死锁之数量,致命之错误,跟踪Transact-SQL 语句和存储过程。可以把这些监视数据存入表或文件中,并在以后某一时间重新显示这些事件来一步一步之进行分析。
通常我们使用SQL Server Profiler 仅监视某些插入事件,这些事件主要有:
登录连接之失败、成功或断开连接;
DELETE、 INSERT、 UPDATE 命令;
远程存储过程调用(RPC) 之状态;
存储过程之开始或结束,以及存储过程中之每一条语句;
写入SQL Server 错误日志之错误;
打开之游标;
向数据库对象添加锁或释放锁。
我们之所以不监视过多之事件,原因在于对事件进行监视往往增加系统之负担,并且使跟踪文件很快增长成大容量文件,从而引起不必要之麻烦。
2. 创建跟踪
在SQL Server 中可以使用SQL Server Profiler 创建跟踪,也可以使用跟踪创建向导或是扩展存储过程。在这里我们将介绍如何使用SQL Server Profiler 来创建跟踪。
(1) 启动SQL Server Profiler (与启动SQL Server Enterprise Manager 一样),从File 之下拉菜单中选择New, 再选择Trace 选项,此时打开Trace Properties 对话框,如图19-2 所示。
在该对话框中定义跟踪之名称、类型、运行跟踪之SQL Server 以及跟踪输出数据之存储方式。其中各选项之含义为:
Shared: 表示所有被允许登录到运行SQL Server Profiler 服务器之用户都可以使用该跟踪;
Private: 表示只有当前创建者可以使用该跟踪;
Capture to file: 表示将跟踪结果存储到文件中,可减少进行跟踪时之内存开销;
Capture to table: 表示将跟踪结果存储到表中,这极易引起较大之额外系统开销。
(2) 选中Events 标签页,所示该对话框用来确定将跟踪哪些事件。在 Available Events 下之窗口中选择要跟踪之事件,底部之方框内便显示出该事件之含义,单击Add ,增加到Selected Events 事件中;
(3) 选中Data Columns 标签页,。在该对话框可以选择跟踪事件哪些数据列,通常选择那些我们比较关心之列。
(4) 选中Filters 标签页。
(5) 单击“确定”按钮完成跟踪创建。
3. 查看、分析跟踪
使用SQL Server Profiler 可以查看跟踪中之事件数据,在跟踪中之每一行代表一个事件,这些事件数据是由跟踪之属性决定之。可以把SQL Server 数据拷贝到其它之应用程序中,如SQL Server Query Analyzer 或Index Tuning Wizard 然后利用它们进行数据分析 ,但通常我们使用SQL Server Profiler 来进行跟踪分析。
利用SQL Server Profiler 既可以打开扩展名为.trc 之跟踪文件,也可以打开扩展名为.log 之日志文件,以及一般之SQL 脚本文件
因为跟踪信息通常保存在文件或表中,所以通过打开表或文件就可以查看、分析跟踪。
打开跟踪之步骤为:
从File 菜单中选择Open, 再选择Trace Files.
Sql server 性能监视器:
要标识CPU内核性能,Windows 2000系统提供了一个系统对象计数器:% Total Processor Time,该计数器评估CPU的平均使用情况这个计数器用来监视CPU使用情况。如果在一段连续时间(10分钟左右),数值超出80%,就说明系统产生了CPU瓶颈,你需要采取一些必要的措施,例如降低SQL Server的工作负载,更换更快的CPU或者更多的CPU。
要标识系统内存内核性能,需要使用内存对象计数器:Pages/Sec,该计数器每秒钟的页面文件数,包括从内存移动到硬盘,或者从硬盘载入到内存的这两类页面文件。如果SQL Server是服务器上唯一运行的应用服务,正常情况下,该计数器除了在某些跳跃点处外,都应该差不多是0。如果在一段连续时间(10分钟左右)内,该数值大于0,说明有页面文件相关的问题。造成该异常计数器数值,有可能是因为服务器上还有其它的应用服务在运行,或者你关闭了SQL Server的动态内存设置。
要标识I/O性能,物理磁盘对象计数器:Avg.Disk Queue Length应该被监视。如果该计数器数值在一段连续时间(10分钟左右)内,超过2,说明磁盘阵列有I/O瓶颈。解决该瓶颈的方法有:如果可能,增加硬盘;更换更快的硬盘;如果可能,增加高速缓冲存储器(Cache);更换RAID的模式;更换更快的控制器;或者降低SQL Server的工作负载。
要标识物理内存性能,需要选择SQL Server 2000的缓冲管理对象计数器:Buffer Cache Hit Ratio。该计数器标识SQL Server进入缓冲(不是硬盘)获取数据的频率。对于在线事务处理(OLTP)应用,该计数器数值应该大于90%。如果不是这样,需要添加更多的内存提高性能,或者降低SQL Server的工作负载。
上面几个计数器是你最常需要使用的,能监视最基本的SQL Server活动情况。如何最佳利用性能监视器
一般而言,性能监视器提供两种主要的方式来分析Windows 2000和SQL Server 2000的计数器。一种是实时地显示图形化数据;另一种是将数据收集到日志文件,需要分析的时候再图形化显示出来。
如果你需要立刻分析并得到结果,实时化监视方式比较好。特别是你要立刻处理一些特定的性能问题的时候,该方式也很方便。实时方式缺省以一秒为单位收集数据,可以同时收集不同的计数器。这在分析计数器之间性能相关性的时候,特别有用。
虽然实时化方式很方便,不过要分析一段时间内的性能,用日志文件方式更有用一点。你可以选择那些计数器数据需要收集,收集的频率是多少。例如,你可以在24小时内,每隔一分钟,收集20个计数器的数据;或者也可以选择收集30天内,每隔10分钟, 50个计数器的数据。数据被收集后,性能监视器可以以图表的形式显示便于分析,或者你也可以将数据导入到数据库或者电子表格中进行更详细的分析。
如果你很关注SQL Server的性能情况,强烈建议总是监视那些关键的计数器,并进行趋势分析(可以利用Microsoft Excel为工具)。例如,利用收集的数据进行趋势分析,有助于预测SQL Server对硬件的需求,如是否需要更多的CPU,更快的I/O设备或更多内存。趋势分析保留了历史数据,你可以利用其来向你的上司说明你为什么需要对现有硬件配置进行升级或更换。
1. 了解SQL Server Profiler
SQL Server Profiler 是图形化实时监视工具,能帮助系统管理员监视数据库和服务器之行为, 比如死锁之数量,致命之错误,跟踪Transact-SQL 语句和存储过程。可以把这些监视数据存入表或文件中,并在以后某一时间重新显示这些事件来一步一步之进行分析。
通常我们使用SQL Server Profiler 仅监视某些插入事件,这些事件主要有:
登录连接之失败、成功或断开连接;
DELETE、 INSERT、 UPDATE 命令;
远程存储过程调用(RPC) 之状态;
存储过程之开始或结束,以及存储过程中之每一条语句;
写入SQL Server 错误日志之错误;
打开之游标;
向数据库对象添加锁或释放锁。
我们之所以不监视过多之事件,原因在于对事件进行监视往往增加系统之负担,并且使跟踪文件很快增长成大容量文件,从而引起不必要之麻烦。
2. 创建跟踪
在SQL Server 中可以使用SQL Server Profiler 创建跟踪,也可以使用跟踪创建向导或是扩展存储过程。在这里我们将介绍如何使用SQL Server Profiler 来创建跟踪。
(1) 启动SQL Server Profiler (与启动SQL Server Enterprise Manager 一样),从File 之下拉菜单中选择New, 再选择Trace 选项,此时打开Trace Properties 对话框,如图19-2 所示。
在该对话框中定义跟踪之名称、类型、运行跟踪之SQL Server 以及跟踪输出数据之存储方式。其中各选项之含义为:
Shared: 表示所有被允许登录到运行SQL Server Profiler 服务器之用户都可以使用该跟踪;
Private: 表示只有当前创建者可以使用该跟踪;
Capture to file: 表示将跟踪结果存储到文件中,可减少进行跟踪时之内存开销;
Capture to table: 表示将跟踪结果存储到表中,这极易引起较大之额外系统开销。
(2) 选中Events 标签页,所示该对话框用来确定将跟踪哪些事件。在 Available Events 下之窗口中选择要跟踪之事件,底部之方框内便显示出该事件之含义,单击Add ,增加到Selected Events 事件中;
(3) 选中Data Columns 标签页,。在该对话框可以选择跟踪事件哪些数据列,通常选择那些我们比较关心之列。
(4) 选中Filters 标签页。
(5) 单击“确定”按钮完成跟踪创建。
3. 查看、分析跟踪
使用SQL Server Profiler 可以查看跟踪中之事件数据,在跟踪中之每一行代表一个事件,这些事件数据是由跟踪之属性决定之。可以把SQL Server 数据拷贝到其它之应用程序中,如SQL Server Query Analyzer 或Index Tuning Wizard 然后利用它们进行数据分析 ,但通常我们使用SQL Server Profiler 来进行跟踪分析。
利用SQL Server Profiler 既可以打开扩展名为.trc 之跟踪文件,也可以打开扩展名为.log 之日志文件,以及一般之SQL 脚本文件
因为跟踪信息通常保存在文件或表中,所以通过打开表或文件就可以查看、分析跟踪。
打开跟踪之步骤为:
从File 菜单中选择Open, 再选择Trace Files.
Sql server 性能监视器:
要标识CPU内核性能,Windows 2000系统提供了一个系统对象计数器:% Total Processor Time,该计数器评估CPU的平均使用情况这个计数器用来监视CPU使用情况。如果在一段连续时间(10分钟左右),数值超出80%,就说明系统产生了CPU瓶颈,你需要采取一些必要的措施,例如降低SQL Server的工作负载,更换更快的CPU或者更多的CPU。
要标识系统内存内核性能,需要使用内存对象计数器:Pages/Sec,该计数器每秒钟的页面文件数,包括从内存移动到硬盘,或者从硬盘载入到内存的这两类页面文件。如果SQL Server是服务器上唯一运行的应用服务,正常情况下,该计数器除了在某些跳跃点处外,都应该差不多是0。如果在一段连续时间(10分钟左右)内,该数值大于0,说明有页面文件相关的问题。造成该异常计数器数值,有可能是因为服务器上还有其它的应用服务在运行,或者你关闭了SQL Server的动态内存设置。
要标识I/O性能,物理磁盘对象计数器:Avg.Disk Queue Length应该被监视。如果该计数器数值在一段连续时间(10分钟左右)内,超过2,说明磁盘阵列有I/O瓶颈。解决该瓶颈的方法有:如果可能,增加硬盘;更换更快的硬盘;如果可能,增加高速缓冲存储器(Cache);更换RAID的模式;更换更快的控制器;或者降低SQL Server的工作负载。
要标识物理内存性能,需要选择SQL Server 2000的缓冲管理对象计数器:Buffer Cache Hit Ratio。该计数器标识SQL Server进入缓冲(不是硬盘)获取数据的频率。对于在线事务处理(OLTP)应用,该计数器数值应该大于90%。如果不是这样,需要添加更多的内存提高性能,或者降低SQL Server的工作负载。
上面几个计数器是你最常需要使用的,能监视最基本的SQL Server活动情况。如何最佳利用性能监视器
一般而言,性能监视器提供两种主要的方式来分析Windows 2000和SQL Server 2000的计数器。一种是实时地显示图形化数据;另一种是将数据收集到日志文件,需要分析的时候再图形化显示出来。
如果你需要立刻分析并得到结果,实时化监视方式比较好。特别是你要立刻处理一些特定的性能问题的时候,该方式也很方便。实时方式缺省以一秒为单位收集数据,可以同时收集不同的计数器。这在分析计数器之间性能相关性的时候,特别有用。
虽然实时化方式很方便,不过要分析一段时间内的性能,用日志文件方式更有用一点。你可以选择那些计数器数据需要收集,收集的频率是多少。例如,你可以在24小时内,每隔一分钟,收集20个计数器的数据;或者也可以选择收集30天内,每隔10分钟, 50个计数器的数据。数据被收集后,性能监视器可以以图表的形式显示便于分析,或者你也可以将数据导入到数据库或者电子表格中进行更详细的分析。
如果你很关注SQL Server的性能情况,强烈建议总是监视那些关键的计数器,并进行趋势分析(可以利用Microsoft Excel为工具)。例如,利用收集的数据进行趋势分析,有助于预测SQL Server对硬件的需求,如是否需要更多的CPU,更快的I/O设备或更多内存。趋势分析保留了历史数据,你可以利用其来向你的上司说明你为什么需要对现有硬件配置进行升级或更换。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询