易截截图软件、单文件、免安装、纯绿色、仅160KB

利用typeperf工具收集SQL Server性能数据

一.利用TypePerf.exe命令行工具把Windows操作系统的性能计数器数据记录到数据库中
 
可以在作业中建立以下脚本
1.启用xp_cmdshell
--默认情况下,sql server2005安装完后,xp_cmdshell是禁用的(可能是安全考虑),如果要使用它,可按以下步骤
 
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO
 
2.定时开启,开始记录性能计数器日志
--实现的功能:将“MyCounters.txt”文件中列出的计数器,按照每秒钟的时间间隔,记录到SQL数据库中,"SQL:SystemLog!TestSystemLog"为ODBC数据源建立的系统DSN
EXEC xp_cmdshell 'typeperf -cf c:\MyCounters.txt -si 5 -f SQL -o SQL:SystemLog!TestSystemLog'
 
--"MyCounters.txt"可以利用下面的命令在CMD命令窗口中执行后生成
TYPEPERF -qx "Processor" >>c:\MyCounters.txt
 
3. 定时关闭
--结束typeperf.exe的进程
EXEC xp_cmdshell 'tskill typeperf'
 
4.关闭xp_cmdshell
--用完后,要记得将xp_cmdshell禁用(出于安全考虑)
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
--重新配置
RECONFIGURE
GO
 
5.利用数据库中记录的日志分析性能数据
 
二.带来的好处:
1.  可以根据计划定时抓取服务器性能数据包括CPU、内存和磁盘利用率以及SQL Server特定数据。为数据库服务器的性能分析提供帮助。
 
2.  可以根据数据库中记录的日志结合Reporting Service绘制性能分析的报表。
 
3.  可以定制作业实现自动化
 
 
三.带来的影响:
1.  会增加服务器的负载,在测试时观察了一下这个命令的开销,基本上启动后8M左右的内存运行,开销比较小
 
另外:如果考虑实施的话,可以新建一个数据库(专门用于监控服务器性能等的表),便于维护和管理
0
0
0
(请您对文章做出评价)


相关文档:

SQL基本使用和代码优化

EXEC和sp_executesql的区别?
DBCC FREEPROCCACHE --》清空缓存中的执行计划
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects WHERE sql NOT LIKE '%cach%' AND sql NOT LIKE '%sys.%' --》查找对应的缓存中的对应计划
SQL Server为每一个的查询字符串创建新的执行计划,即使查询模式相同也是这样 ......

[SQL Server2005]SQL Server死锁总结(转)

1. 死锁原理
    根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
    死锁的四个必要条件:
互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Ho ......

SQL Server压缩日志及数据库文件大小

请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库。
一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。
1、清空日志
DUMP  TRANSACTION  库名  WITH NO_LOG
2、截断事务日志
B ......

清除SQL数据库日志文件


清除SQL数据库日志文件
/*--压缩数据库的通用存储过程
有两种方法 一是压缩日志,二是删除日志。
一、压缩日志及数据库文件大小
因为要对数据库进行分离处理
所以存储过程不能创建在被压缩的数据库中
/*--调用示例
exec p_compdb 'test'
--*/
use master   --注意,此存储过程要建在master数据库中
go ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号