第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
2013-02-26 17:18
330 查看
本文为这个系列最后一篇。将是如何使用DBCC命令来监控SQLServer日志空间的使用情况。
作为DBA,其中一个重要的责任就是监控日志文件的大小,以确保空间不会被耗光导致数据库服务器宕机。
SQLServer提供了不同的DBCC命令供DBA使用,其中DBCC
SQLPERF是其中一个用于监控日志大小的常用命令,在本文中,将演示使用这个命令。除了获取日志的信息,还可以用于重置等待和闩锁状态。
DBCC SQLPERF用于监控日志使用情况时,只需要传入一个参数LOGSPACE。但是它也接受其他命令。
DBCC SQLPERF(‘logspace’)命令返回三个列:DatabaseName、LogSize(MB)、LogSpaceUsed(%)
打开SSMS然后新开一个查询窗口。
2、
在查询窗口中输入以下代码:
前言:
每个数据库都必须有事务日志。事务日志记录每个DML操作,并应用于SQLServer的数据库中,如果恢复模式为FULL并经常有DML操作,日志将增长得非常快。几时恢复模式为simple,当数据库处于事务复制或者合并复制时,日志通常会增长。如果日志不是经常备份且日志文件的增长没有受到限制的话,将有可能耗光你所有的硬盘空间然后造成数据库宕机。作为DBA,应该经常监控日志的使用情况以避免问题的发生。作为DBA,其中一个重要的责任就是监控日志文件的大小,以确保空间不会被耗光导致数据库服务器宕机。
SQLServer提供了不同的DBCC命令供DBA使用,其中DBCC
SQLPERF是其中一个用于监控日志大小的常用命令,在本文中,将演示使用这个命令。除了获取日志的信息,还可以用于重置等待和闩锁状态。
DBCC SQLPERF用于监控日志使用情况时,只需要传入一个参数LOGSPACE。但是它也接受其他命令。
DBCC SQLPERF(‘logspace’)命令返回三个列:DatabaseName、LogSize(MB)、LogSpaceUsed(%)
步骤:
1、打开SSMS然后新开一个查询窗口。
2、
在查询窗口中输入以下代码:
USE tempdb GO IF OBJECT_ID('dbo.#tbl_DBLogSpaceUsage') IS NOT NULL BEGIN DROP TABLE dbo.#tbl_DBLogSpaceUsage END CREATE TABLE dbo.#tbl_DBLogSpaceUsage ( DatabaseName NVARCHAR(128) , LogSize NVARCHAR(25) , LogSpaceUsed NVARCHAR(25) , [Status] TINYINT ) INSERT INTO dbo.#tbl_DBLogSpaceUsage EXEC ( 'DBCC SQLPERF(LOGSPACE)' ) --查询全部结果: SELECT DatabaseName , LogSize , LogSpaceUsed , [Status] FROM dbo.#tbl_DBLogSpaceUsage GO --查询特定数据库的结果: SELECT DatabaseName , LogSize AS LogSizeInMB , LogSpaceUsed LogspaceUsed_In_Percent , [Status] FROM dbo.#tbl_DBLogSpaceUsage WHERE Databasename = 'AdventureWorks' GO
分析:
本例中创建了一个临时表,然后调用DBCC SQLPERF来把数据插入表中。由于DBCC命令需要用EXEC来执行,所以使用动态SQL来实现。根据返回的结果可以预测是否有必要马上执行日志备份操作(完整备份不截断日志,也就不会释放日志空间)。扩展信息:
可以改进这个语句来获取汇总值,在一段时间之后,表就存放了日志使用信息的历史记录。可以用于分析日志的增长情况。相关文章推荐
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(2)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(2)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(2)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(2)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(1)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(1)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(1)
- 第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(1)
- 使用系统存储过程来监控SQLServer进程和会话详解
- 在SqlServer存储过程中使用Cursor(游标)操作记录
- sqlserver 存储过程中使用临时表到底会不会导致重编译
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
- 使用 mysqldump 命令导出数据库存储过程及函数的方法!
- SQLServer 存储过程简介与使用方法
- SQLSERVER中的系统存储过程的使用的总结
- 使用SQLSERVER的扩展存储过程实现远程备份与恢复
- SQLServer------存储过程的使用