第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
原文:第三章——使用系统函数、存储过程和DBCC SQLPERF命令来监控SQLServer(3)
本文为这个系列最后一篇。将是如何使用DBCC命令来监控SQLServer日志空间的使用情况。
前言:
每个数据库都必须有事务日志。事务日志记录每个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(3)的更多相关文章
- Linux/Unix系统编程手册 第三章:系统编程概念
本章介绍系统编程的基础概念和一些后续章节用到的函数及头文件,并说明了可移植性问题. 系统调用是受控的内核入口,通过系统调用,进程可以请求内核以自己的名义去执行某些动作,比如创建子进程,执行I/O操作, ...
- 《python语言程序设计》_第三章(数字函数、字符串和对象)
3.2_常见的Python函数 (1) abs()函数 求绝对值 (2) max(x1,x2,x3,....)求最大值 (3) min(x1,x2,x3,....)求最小值 (4) pow 返回a的b ...
- PHP:第三章——PHP中函数的实参多余形参的处理方法
<?phpheader("Content-Type:text/html;charset=utf-8");//传参的函数/*function F($a){ echo $a ...
- Python开发【第三章】:函数介绍
一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...
- jQuery_第三章_工厂函数
- 第三章 Js变量的作用域和匿名函数
3.1 先看下面的事例: ①var temp=0; ②temp=0; 当js解析器检测到①这种情况的时候,解析器会为这个变量开辟一个内存空间,如果前面已经存在这个变量,就会把这个变量覆盖掉. 当解析器 ...
- 正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——3 计算4个函数
整个引擎代码在github上,地址为:https://github.com/sun2043430/RegularExpression_Engine.git nullable, firstpos, la ...
- 简学Python第三章__函数式编程、递归、内置函数
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- javascript进阶课程--第三章--匿名函数和闭包
javascript进阶课程--第三章--匿名函数和闭包 一.总结 二.学习要点 掌握匿名函数和闭包的应用 三.匿名函数和闭包 匿名函数 没有函数名字的函数 单独的匿名函数是无法运行和调用的 可以把匿 ...
随机推荐
- 国内云存储对比: 阿里云、腾讯云、Ucloud、首都在线
阿里云的数据存储<http://www.aliyun.com/product/rds/> RDS — 关系型数据库服务(Relational Database Service,简称RDS) ...
- Hadoop单机版安装,配置,运行
Hadoop是最近非常流行的东东啦,但是乍一看都觉得是集群的东东,其实在单机版上安装Hadoop也是可以的,并且安装好以后可以很方便的进行程序的调试,调试好程序以后再丢到集群中,放心的算吧,呵呵.. ...
- eclipse 安装vrapper vim插件
http://vrapper.sourceforge.net/update-site/stable 如果安装不上,设置下代理./window/pereference/network* - manul
- Thread Dump 和Java应用诊断(转)
Thread Dump 和Java应用诊断 Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的thread-dump的能力.虽然各 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
- [IOS]本地化
我们在IOS开发应用中,会碰到做好的一个应用,如何趋向国际化,也就是说支持多种语言?下面我就来简单演示一下,用一个Demo来实现中文和英文的实现. 实现步骤: 1.本地化项目中xib的view 1.在 ...
- Core 1.0中的管道-中间件模式
ASP.NET Core 1.0中的管道-中间件模式 SP.NET Core 1.0借鉴了Katana项目的管道设计(Pipeline).日志记录.用户认证.MVC等模块都以中间件(Middlewar ...
- Codeforces 432E Square Tiling(结构体+贪婪)
题目连接:Codeforces 432E Square Tiling 题目大意:给出一个n∗m的矩阵,要求对该矩阵进行上色,用大写字母,可是每次上色的区域必须是正方形,不求相邻的上色区域不能有同样的颜 ...
- android CountDownTimer
最近进行的项目使用的定时功能,我发现了一个非常容易使用内置类CountDownTimer.当然,可以使用这种效果TimerTask + Timer为了实现.只是我个人的意见CountDownTimer ...
- 远程连接到vultr vps的mysql服务器
实验环境 vultr centos 6.7 x64 1. 首先要打开远程 vps的3306端口用于 mysql的连接 修改/etc/sysconfig/iptables 文件,添加3306端口的支持 ...