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扩展过程的更多相关文章

  1. V-rep学习笔记:vrep中的实用工具

    在V-REP的模型浏览器中可以找到一个工具文件夹tools,点开后会在下面一栏中显示许多方框图,将这些方框拖到场景模型中可以实现一些特定的功能,方便建模或其它操作. Center of mass vi ...

  2. SpringMvc 中的实用工具类介绍(包括 ResponseEntity、 RestTemplate、WebUtils 等)

    此部分内容将包含 ResponseEntity. RestTemplate.WebUtils 等 1. ResponseEntity ① Sprring Mvc 中作为方法的返回值使用法 @Reque ...

  3. mac 中安装redis 以及 安装php-redis扩展过程详细记录

    1. 通过homebrew 安装 redis sodu brew install redis 2. 安装后执行开启redis,采用默认配置, 默认配置只有本地(127.0.0.1)可以访问.需要远程访 ...

  4. sqlserver tablediff 实用工具

    tablediff 是sqlserver自带的实用工具 sqlserver 2012 在110目录下,sqlserver2008在100目录下 官方参考文档如下: https://docs.micro ...

  5. 实用篇:说说我在JavaScript项目中使用的工具类

    在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...

  6. docker中使用阿里云的apt源安装各种实用工具

    今天想在docker中安装vim工具,还有其他的软件等等,如果你直接执行apt-get install vim是没有用的,会显示: root@7d43d83fd3a8:/etc/nginx# apt- ...

  7. (转)笔记320 SQLSERVER中的加密函数 2013-7-11

    1 --SQLSERVER中的加密函数 2013-7-11 2 ENCRYPTBYASYMKEY() --非对称密钥 3 ENCRYPTBYCERT() --证书加密 4 ENCRYPTBYKEY() ...

  8. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  9. IL反编译的实用工具

    初识Ildasm.exe——IL反编译的实用工具   Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello Wor ...

随机推荐

  1. Java堆外内存之突破JVM枷锁

    对于有Java开发经验的朋友都知道,Java中不需要手动的申请和释放内存,JVM会自动进行垃圾回收:而使用的内存是由JVM控制的. 那么,什么时机会进行垃圾回收,如何避免过度频繁的垃圾回收?如果JVM ...

  2. 【转】kafka集群搭建

    转:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否 ...

  3. Ansible工作流程详解

    1:Ansible的使用者 ------>Ansible的使用者来源于多种维度,(1):CMDB(Configuration Management Database,配置管理数据库),CMDB存 ...

  4. 大数据之presto

    1.概述 Presto是一个分布式SQL查询引擎,用于查询分布在一个或多个不同数据源中的大数据集.presto可以通过使用分布式查询,可以快速高效的完成海量数据的查询.它是完全基于内存的,所以速度非常 ...

  5. nodejs项目总结

    前几天花了3天时间,搭建.开发了一个包含客户端.cms.server端的项目,也因着以前有php的开发经验,以及sql的设计和应用能力,倒也没遇到什么阻碍.至于项目结构搭建(架构),也是共通的,以模块 ...

  6. C字符串

    C字符串 C中的字符串是以空字符('\0')结尾的一个char数组,基本的实现字符串的方法有:字符串常量,字符串数组,char数组,char指针.字符串使用广泛,如与用户交互等处理自然语言的情况.C为 ...

  7. AngularJS学习笔记(一)走近AngularJS

    什么是AngularJS AngularJS是一款优秀的前端JS框架,是Google多款产品之一,简称ng. ng有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入 ...

  8. [原] jQuery EasyUI 1.3.4 离线API、Demo (最新)

    说明 本文下载包为 jQuery EasyUI 1.3.4 离线API.Demo. API 按照分类整理做成了离线版本,文档保证和官网完全一致: Demo 按照分类整理为合集. 1.3.3版本中新增 ...

  9. python学习之老男孩python全栈第九期_day008知识点总结

    ''''如何打开一个文件模特主妇护士老师.txt1. 文件路径:f:\模特主妇护士老师.txt2. 操作方式:只读:r ,rb ,只写: w, wb ,追加: a , ab,读写:r+ , r+b,写 ...

  10. vue.js关于路由的跳转

    1.路由demo示例 <div id="app"> <h1>Hello App!</h1> <p> <!-- 使用 route ...