SqlServer中sqlmaint 实用工具和xp_sqlmaint扩展过程
sqlmaint 实用工具可以对一个或多个数据库执行一组指定的维护操作。使用 sqlmaint,可以运行 DBCC 检查、备份数据库及其事务日志、更新统计以及重建索引。所有数据库维护活动都会生成报表,可以将此报表发送到指定的文本文件、HTML 文件或电子邮件帐户。sqlmaint 可以执行以前版本的 SQL Server 所创建的数据库维护计划。若要从命令提示符运行 SQL Server 维护计划,请使用 dtexec 实用工具。 Example sqlmaint
[-?] |
[
[-S server_name[\instance_name]]
[-U login_ID [-P password]]
{
[-D database_name | -PlanName name | -PlanID guid ]
[-Rpt text_file]
[-To operator_name]
[-HtmlRpt html_file [-DelHtmlRpt <time_period>] ]
[-RmUnusedSpace threshold_percentfree_percent]
[-CkDB | -CkDBNoIdx]
[-CkAl | -CkAlNoIdx]
[-CkCat]
[-UpdOptiStats sample_percent]
[-RebldIdx free_space]
[-SupportComputedColumn]
[-WriteHistory]
[
{-BkUpDB [backup_path] | -BkUpLog [backup_path] }
{-BkUpMedia
{DISK [
[-DelBkUps <time_period>]
[-CrBkSubDir ]
[-UseDefDir ]
]
| TAPE
}
}
[-BkUpOnlyIfClean]
[-VrfyBackup]
]
}
]
<time_period> ::=
number[minutes | hours | days | weeks | months]
参数:
参数与其值之间必须用一个空格分隔。例如,在 -S 和 server_name 之间必须有一个空格。 -? 指定返回 sqlmaint 的语法关系图。此参数必须单独使用。
-S server_name[ \instance_name] 指定 MicrosoftSQL Server 的目标实例。指定 server_name 将连接到该服务器中的 SQL Server 数据库引擎的默认实例。指定 server_name\instance_name 将连接到该服务器中的数据库引擎的命名实例。如果不指定服务器,sqlmaint 将连接到本地计算机上的数据库引擎的默认实例。
-U login_ID 指定连接服务器时使用的登录 ID。如果不提供登录 ID,sqlmaint 将尝试使用 Microsoft Windows 身份验证。如果 login_ID 包含特殊字符,则必须用双引号 (“) 引起来;否则,双引号为可选。
-P password 指定登录 ID 的密码。仅当同时提供 -U 参数时才有效。如果 password 包含特殊字符,则必须用双引号引起来;否则,双引号为可选。
-D database_name 指定要在其中执行维护操作的数据库的名称。如果 database_name 包含特殊字符,则必须用双引号引起来;否则,双引号为可选。
-PlanName name 指定使用数据库维护计划向导定义的数据库维护计划的名称。sqlmaint 仅使用来自该计划的数据库列表信息。任何在其他 sqlmaint 参数中指定的维护活动都可应用于此列表中的数据库。
-PlanID guid 指定使用数据库维护计划向导定义的数据库维护计划的全局唯一标识符 (GUID)。sqlmaint 仅使用来自该计划的数据库列表信息。任何在其他 sqlmaint 参数中指定的维护活动都可应用于此列表中的数据库。这必须与 msdb.dbo.sysdbmaintplans 中的 plan_id 值匹配。
-UseDefDir 对于磁盘备份,指定在默认的备份目录中创建备份文件。如果同时指定 UseDefDir 和 backup_path,则前者将取代后者。在默认 MicrosoftSQL Server 安装中,默认备份目录为 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup。
TAPE 指定备份介质为磁带。
-BkUpOnlyIfClean 指定仅当指定的 -Ck 检查未发现数据问题时才进行备份。维护操作的运行顺序与其在命令提示中出现的顺序相同。如果要同时指定 -BkUpOnlyIfClean,则应在 -BkUpDB/-BkUpLog 参数前指定参数 -CkDB、-CkDBNoIdx、-CkAl、-CkAlNoIdx、-CkTxtAl 或 -CkCat,否则无论检查是否报告问题,都将进行备份。
-VrfyBackup 指定备份完成时,对备份运行 RESTORE VERIFYONLY。
number[minutes| hours| day| weeks| months] 指定时间间隔,用于确定报表或备份文件是否旧到需要将其删除。number 是一个整数,后跟时间单位(没有空格)。有效示例: *12weeks *3months *15days 如果仅指定 number,则默认日期部分为 weeks。 示例: A. 对数据库执行 DBCC 检查 sqlmaint -S MyServer -D AdventureWorks -CkDB -CkAl -CkCat -Rpt C:\MyReports\AdvWks_chk.rpt B. 使用计划中所有数据库的 15% 样本更新统计信息。同时,压缩任何已达到 110 MB 的数据库,以便仅使用 10% 可用空间 sqlmaint -S MyServer -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10 C. 将计划中的所有数据库备份到默认 x:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup 目录下的各自子目录中。同时,删除所有超过两个星期的备份 sqlmaint -S MyServer -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks D. 将数据库备份到默认 x:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup 目录中。 sqlmaint -S MyServer -BkUpDB -BkUpMedia DISK -UseDefDir 一个客户的备份的例子:
每周六做一次全库备份,保存两周的全库备份(-PlanID 可以不变就使用下面的值,如果要单独备份一个数据库,可以加上-D “dbname”参数,-BkExt参数可以不加): EXECUTE master.dbo.xp_sqlmaint N’-PlanID 0D3447E6-67AA-4C30-8226-491BF1684567 -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB “D:\DataBak\Total” -DelBkUps 2WEEKS -CrBkSubDir -BkExt “BAK”‘ 除周六以外每天做一次差异备份: BACKUP DATABASE [info_guodu] TO DISK = N’D:\DataBak\Increase\info_guodu.bak’ WITH INIT , NOUNLOAD , DIFFERENTIAL , NAME = N’info_guodu 备份’, NOSKIP , STATS = 10, NOFORMAT
SqlServer中sqlmaint 实用工具和xp_sqlmaint扩展过程的更多相关文章
- V-rep学习笔记:vrep中的实用工具
在V-REP的模型浏览器中可以找到一个工具文件夹tools,点开后会在下面一栏中显示许多方框图,将这些方框拖到场景模型中可以实现一些特定的功能,方便建模或其它操作. Center of mass vi ...
- SpringMvc 中的实用工具类介绍(包括 ResponseEntity、 RestTemplate、WebUtils 等)
此部分内容将包含 ResponseEntity. RestTemplate.WebUtils 等 1. ResponseEntity ① Sprring Mvc 中作为方法的返回值使用法 @Reque ...
- mac 中安装redis 以及 安装php-redis扩展过程详细记录
1. 通过homebrew 安装 redis sodu brew install redis 2. 安装后执行开启redis,采用默认配置, 默认配置只有本地(127.0.0.1)可以访问.需要远程访 ...
- sqlserver tablediff 实用工具
tablediff 是sqlserver自带的实用工具 sqlserver 2012 在110目录下,sqlserver2008在100目录下 官方参考文档如下: https://docs.micro ...
- 实用篇:说说我在JavaScript项目中使用的工具类
在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...
- docker中使用阿里云的apt源安装各种实用工具
今天想在docker中安装vim工具,还有其他的软件等等,如果你直接执行apt-get install vim是没有用的,会显示: root@7d43d83fd3a8:/etc/nginx# apt- ...
- (转)笔记320 SQLSERVER中的加密函数 2013-7-11
1 --SQLSERVER中的加密函数 2013-7-11 2 ENCRYPTBYASYMKEY() --非对称密钥 3 ENCRYPTBYCERT() --证书加密 4 ENCRYPTBYKEY() ...
- .Net 高效开发之不可错过的实用工具(转)
.Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...
- IL反编译的实用工具
初识Ildasm.exe——IL反编译的实用工具 Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello Wor ...
随机推荐
- C++关于sort和priority_queue的运算符重载
C++中的sort函数默认是将元素升序排列的,而priority_queue默认是将元素降序排列的(默认实现的是大顶堆). 自定义运算符用的比较多,以下2种对sort和priority_queue运算 ...
- Java NIO系列教程(二) Channel
Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道.但流的读写通常是单向的. 通道可以异步地读写. 通道中的数据总是要先读到一个Buffer,或者总是要从一个Bu ...
- Java并发编程-ReentrantLock源码分析
一.前言 在分析了 AbstractQueuedSynchronier 源码后,接着分析ReentrantLock源码,其实在 AbstractQueuedSynchronizer 的分析中,已经提到 ...
- Golang 函数function
函数function Go函数不支持嵌套.重载和默认参数 但支持以下特性: 无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包 定义函数使用关键字func,且左大括号不能另起一行 函 ...
- 【转】学习使用:before和:after伪元素
如果你一直密切关注着各种网页设计的博客,你可能已经注意到了:before和:after伪元素已经在前端开发中获得了相当多的关注.特别是在Nicolas Gallagher的博客中,后期运用了很多伪类元 ...
- UVa 442 Matrix Chain Multiplication(栈的应用)
题目链接: https://cn.vjudge.net/problem/UVA-442 /* 问题 输入有括号表示优先级的矩阵链乘式子,计算该式进行的乘法次数之和 解题思路 栈的应用,直接忽视左括号, ...
- Ant Trip(区别于二分匹配中最小路径覆盖的一笔画问题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3018 题目: Problem Description Ant Country consist of ...
- 异步消息队列Celery
Celery是异步消息队列, 可以在很多场景下进行灵活的应用.消息中包含了执行任务所需的的参数,用于启动任务执行, suoy所以消息队列也可以称作 在web应用开发中, 用户触发的某些事件需要较长事件 ...
- [Luogu 2656] 采蘑菇
Description 小胖和ZYR要去ESQMS森林采蘑菇. ESQMS森林间有N个小树丛,M条小径,每条小径都是单向的,连接两个小树丛,上面都有一定数量的蘑菇.小胖和ZYR经过某条小径一次,可以采 ...
- ikanalyzer分词,计算信息熵排序分词结果
因需求,现需分词接口,故记录之. 1.需要依赖: <!-- https://mvnrepository.com/artifact/com.janeluo/ikanalyzer --> &l ...