数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
收集并存储性能监控器数据到SQL Server表

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

收集并存储性能监控器数据到SQL Server表

?

?

当我们需要监控数据库SQL Server服务器性能的时候,有些数据库管理人员可能会选择Windows为我们提供的‘性能’监控器来操作(开始菜单à管理工具à性能)。

如果可以将性能监控器采集到的数据记录到SQL Server 的数据库表中去,很多工作对我们来说也许方便得多。

开启性能监控器

点击开始菜单à运行à执行(perfmon

或者

开始菜单à管理工具à性能

?

就可以看到下面的画面了

?

定义性能监控器LOG

??????? ?如果要设置监控器的LOG,首先展开树形结构的性能日志和报警,会出现三个你可以选择的项目(计数器日志,跟踪日志,报警),现在我们先设置计数器日志。右键点击计数器日志的这个节点,从弹出的菜单中选择新建日志设置,填写日志名称并确定。就会谈出下面的画面:

??? 我填写的名称是SQL Server 所以当前的日志文件名会显示:

C:\Perflogs\SQL_Server_000001.blg

??????? 下一步就是要定义你将要收集或者说将要监控的项目。我们会选择几个不同的监控项目作为这个我们建立的这个LOG的记录。首先我们先选择Processor Time。点击添加按钮,选择%Processor Time之后点击添加,就如同下面这张同我们看到的那样。

????? ?下面我们选择内存的监控,在性能对象下拉框中选择Memory,然后再下面计数器部分选择Pages/sec计数并点击添加,如下图

??????? 之后我们按照上面的步骤重复的操作,把我们需要监控的项目加入到列表中去。在将所有要监控的项目都添加完成后,点击关闭按钮就可以了,可以用下面的图作参考:

???? 如同上面途中我们看到的样子,我选择了许多不同的监控项目。我在下面给大家罗列以下:

\\CN-BJ-TIGER\Memory\Available Bytes

\\CN-BJ-TIGER\Process(sqlservr)\Page Faults/sec

\\CN-BJ-TIGER\Process(sqlservr)\Working Set

\\CN-BJ-TIGER\Processor(_Total)\%Priviledged Time

\\CN-BJ-TIGER\Processor(_Total)\%Processor Time

\\CN-BJ-TIGER\Processor(_Total)\%User Time

\\CN-BJ-TIGER\SQLServer:Buffer Manager\Buffer cache hit ratio

\\CN-BJ-TIGER\SQLServer:General Statistics\User Connections

\\CN-BJ-TIGER\SQLServer:Memeory Manager\Total Server Memory (KB)

\\CN-BJ-TIGER\SQLServer:SQL Statistics\Batch Request/sec

\\CN-BJ-TIGER\System\Context Switches/sec

\\CN-BJ-TIGER\System\Processor Queue Length

?

上面表中每一个项目都分成三个段表示,第一段表示服务器名称,第二段表示要监控的对象是什么,第三段表示监控的项目。

选择完全部的监控项目之后,接下来还要继续作一些事情才可以完成对LOG的定义。我们需要考虑一下,我们对数据的采样间隔,用上面的图来举例子,可以在对话框的下方设定采样的间隔时间和时间单位(初始是15s)。不过一般情况下15s不会适合所有的监控项目,所以要根据每个不同服务器的配置来决定具体的间隔时间,因为监控室必定要消耗服务器资源的,而且服务器也会产生大量的数据收集工作。

上面的工作做完后,现在开始设定LOG文件的存储路径和方式以及执行的时间计划。点击日志文件选项卡:

为了比较容易的将文件导入到SQL Server 中,需要选择有逗号分割形式的文本文件来存储信息。这样的话,可以选择 文本文件 – CSV? 的格式来存储LOG文件。

??????? run.bat中键入

?????????????????????? isql -E -d pubs -i c:\perform\go.sql

??????? 保存

?

??????? 然后建立SQL脚本文件如下---我建立的SQL脚本文件名是go.sql

????????????? set ansi_nulls on

set ansi_warnings on

?

select * into Perflog

from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;HDR=NO;DATABASE=c:\perflogs\', sql_server_000001#csv)

?

set ansi_nulls off

set ansi_warnings off

go

?

之前要改变一下数据库服务器的连接设置

? ANSI warning

???? ?ANSI nulls

两个选项选中

好到这里,我们就可以从PUBS数据库中的Perflog表中找到监控的记录了




相关文章

相关软件