前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

sqlmaint合用东西和xp_sqlmaint扩展过程

时候:2013-04-11 02:10来源:知行网www.zhixing123.cn 编辑:麦田守望者

sqlmaint 合用东西在一个或多个数据库上履行一套指定的保护操纵。可利用 sqlmaint 来运行 DBCC 查抄,备份数据库及其事件日记,更新统计偏重修索引。所有数据库保护活动都天生一个报表,该报表可以发送到一个指定的文本文件、HTML 文件或电子邮件帐户。

语法

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_percent free_percent]
[-CkDB | -CkDBNoIdx]
[-CkAl | -CkAlNoIdx]
[-CkCat]
[-UpdOptiStats sample_percent]
[-RebldIdx free_space]
[-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]

 

申明 参数与其值之间必须用一个空格分开。比方,在 -Sserver 之间必须有一个空格。

 

 

注释

sqlmaint 在一个或多个数据库上履行保护操纵。如果指定了 -D,则仅在指定的数据库上履行在残剩的开关中指定的操纵。如果指定了 -PlanName-PlanID,则 sqlmaint 从指定的保护打算中检索的独一信息是打算中的数据库列表。在 sqlmaint 残剩参数中指定的全数操纵,都将利用于从打算获得的列表中的每个数据库。sqlmaint 不进行在打算本身中定义的任何保护活动。

如果成功运行,则 sqlmaint 合用东西前往 0,不然前往 1。在以下环境下将陈述失败:

  • 如果任何保护操纵失败。
  • 如果 -CkDB-CkDBNoIdx-CkAl-CkAlNoIdx-CkTxtAl -CkCat 查抄发明数据有问题。
  • 如果碰到通例错误。

有关此合用东西的地位和运行体例的信息,请拜见。

示例 sqlmaint -S MyServer -U "sa" -P "SaPwd" -D Northwind -CkDB -CkAl -CkCat -Rpt C:\MyReports\Nwind_chk.rpt sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -UpdOptiStats 15 -RmUnusedSpace 110 10 sqlmaint -S MyServer -U "sa" -P "SaPwd" -PlanName MyUserDBPlan -BkUpDB -BkUpMedia DISK -UseDefDir -CrBkSubDir -DelBkUps 2weeks

-?

指定前往 sqlmaint 的语法关系图。此参数必须伶仃利用。

-S server_name[\instance_name]

指定 Microsoft® SQL Server™ 2000 的目标实例。指定用于连接到该办事器上的 SQL Server 2000 默许实例的 server_name。指定用于连接到该办事器上的 SQL Server 2000 定名实例的 server_name\instance_name。如果未指定办事器,则 sqlmaint 连接到本地计较机上的 SQL Server 2000 默许实例。

-U login_ID

指定连接办事器时利用的登录 ID。如果未供应,则 sqlmaint 测验测验利用 Windows 身份考证。如果 login_ID 包含特别的字符,则它必须用英文双引号 (") 引发来;不然,双引号是可选的。

 

宁静申明 如果可能,请利用 Windows 身份考证。

 

-P password

指定登录 ID 的暗码。仅当也利用 -U 参数时才有效。如果 password 包含特别字符,则它必须用英文双引号 (") 引发来;不然,双引号是可选的。

 

宁静申明 不会樊篱暗码。如果可能,请利用 Windows 身份考证。

 

-D database_name

指定在此中履行保护操纵的数据库的称呼。如果 database_name 包含特别字符,则它必须用英文双引号 (") 引发来;不然,双引号是可选的。

-PlanName name

指定利用数据库保护打算领导定义的数据库保护打算的称呼。sqlmaint 独一利用的该打算中的信息是其数据库列表。任安在别的 sqlmaint 参数中指定的保护活动都可利用于此列表中的数据库。可以从 SQL Server 企业办理器获得打算称呼。

-PlanID guid

指定利用数据库保护打算领导定义的数据库保护打算的全局独一标识符 (GUID)。sqlmaint 独一利用的该打算中的信息是其数据库列表。任安在别的 sqlmaint 参数中指定的保护活动都可利用于此列表中的数据库。这必须与 msdb.dbo.sysdbmaintplans 中的 plan_id 值婚配。

-Rpt text_file

指定包含所天生报表的文件的完整途径和称呼。报表也能够天生到屏幕上。报表经由过程将日期增加到文件名中来保护版本信息。日期天生体例以下:在文件名开端、句点之前,利用 _yyyyMMddhhmm 格局。Yyyy = 年,MM = 月,dd = 日,hh = 时,mm = 分。

如果在 1996 年 12 月 1 日的 10:23 A.M. 运行该合用东西,且 text_file 的值为:

c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.rpt

天生的文件名为:

c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint_199612011023.rpt

sqlmaint 拜候长途办事器时 text_file 需求完整的 UNC 文件名。

-To operator_name

指定经由过程 SQL 邮件将天生的报表发送给哪个操纵员。可利用 SQL Server 企业办理器定义操纵员。

-HtmlRpt html_file

指定包含所天生的 HTML报表的文件的完整途径和文件称呼。sqlmaint 经由过程向文件名追加格局为 _yyyyMMddhhmm 的字符串天生文件名,这与 -Rpt 参数的感化不异。

sqlmaint 拜候长途办事器时,html_file 需求完整的 UNC 文件名。

-DelHtmlRpt <time_period>

指定如果报表文件建立后的时候间隔超越了 <time_period> 时将删除报表目次中的所有 HTML 报表。

-DelHtmlRpt 查找那些称呼适合由 html_file 参数天生的形式的文件。如果 html_file 为 c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint.htm,则 -DelHtmlRpt 将导致 sqlmaint 删除任何称呼与 c:\Program Files\Microsoft SQL Server\Mssql\Backup\Nwind_maint*.htm 形式婚配的文件,以尽早于指定的 <time_period> 的文件。

-RmUnusedSpace threshold_percent free_percent

指定从 -D 指定的数据库中删除未利用的空间。此选项仅对定义为主动增加的数据库有效。Threshold_percent 按兆字节指定在 sqlmaint 测验测验删除未利用的数据空间之前数据库必须到达的年夜小。如果数据库小于 threshold_percent,则不进行操纵。Free_percent 指定在数据库中必须保存的未利用空间的年夜小,按数据库终究年夜小的百分比指定。比方,如果一个 200 MB 的数据库包含 100 MB 的数据,将 free_percent 指定为 10,则终究数据库年夜小为 110 MB。应当重视的是,如果数据库小于 free_percent 加上数据库中的数据,则数据库不会扩展。比方,如果一个 108 MB 的数据库有 100 MB 的数据,则将 free_percent 指定为 10 不会使数据库扩展到 110 MB,而还是 108 MB。

-CkDB | -CkDBNoIdx

指定在 -D 指定的数据库中运行的 DBCC CHECKDB 语句或带有 NOINDEX 选项的 DBCC CHECKDB 语句。有关更多信息,请拜见 。

如果 sqlmaint 运行时数据库正在利用,则会在 text_file 中写入一个警告。

-CkAl | -CkAlNoIdx

指定在 -D 指定的数据库中运行的 DBCC NEWALLOC 语句或带有 NOINDEX 选项的 DBCC NEWALLOC 语句。有关更多信息,请拜见 。

-CkCat

指定在 -D 指定的数据库中运行 DBCC CHECKCATALOG 语句。有关更多信息,请拜见 。

-UpdOptiStats sample_percent

指定在数据库的每个表上运行以下语句:

UPDATE STATISTICS table WITH SAMPLE sample_percent PERCENT

有关更多信息,请拜见。

-RebldIdx free_space

指定利用 free_space 百分比值作为添补因子的倒数,重修目标数据库中的表的索引。比方,如果 free_space 百分比值为 30,则利用的添补因子为 70。如果 free_space 百分比值为 100,则利用初始的添补因子值重修索引。

-WriteHistory

指定在 msdb.dbo.sysdbmaintplan_history 中为由 sqlmaint 履行的每次保护操纵天生一项。如果指定了 -PlanName-PlanID,则 sysdbmaintplan_history 中的项目利用指定打算的 ID。如果指定了 -D,则经由过程给打算 ID 付与零值来天生 sysdbmaintplan_history 中的项目。

-BkUpDB [backup_path] | -BkUpLog [backup_path]

指定备份操纵。-BkUpDb 备份全部数据库。-BkUpLog 仅备份事件日记。

[backup_path] 指定备份的目次。如果也指定了 -UseDefDir,则不需求 [backup_path],如果二者都指定,则 [backup_path] 被 -UseDefDir 替代。备份可以放在目次或磁带装备地点中(比方,\\.\TAPE0)。数据库备份的文件名主动天生以下:

dbname_db_yyyyMMddhhmm.BAK

此中

  • dbname 是正在进行备份的数据库的称呼。
  • yyyyMMddhhmm 是备份操纵的时候,yyyy = 年,MM = 月,dd = 日,hh = 时,mm = 分。

    事件备份的文件名主动利用与下面类似的格局天生:

    dbname_log_yyyymmddhhmm.BAK

    如果利用 -BkUpDB 参数,则必须经由过程 -BkUpMedia 参数指定媒体。

-BkUpMedia

指定备份的媒体范例。

DISK

指定备份媒体为磁盘。

-DelBkUps <time_period>

指定如果建立备份后的时候间隔超越了 <time_period> 则删除备份目次中的所有备份文件。

-CrBkSubDir

指定在 [backup_path] 目次中建立子目次;如果同时指定了 UseDefDir,则在默许的备份目次中建立子目次。子目次的称呼从 -D 指定的数据库称呼中天生。-CrBkSubDir 供应了一种简朴的体例,可用来将不合数据库的所有备份放入伶仃的子目次中,而没必要变动 [backup_path] 参数。

-UseDefDir

指定在默许的备份目次中建立备份文件。如果二者都指定,则 UseDefDir 替代 [backup_path]。在默许的 SQL Server 2000 装置法度中,默许备份目次是 c:\Program Files\Microsoft SQL Server\Mssql\Backup。

TAPE

指定备份媒体为磁带。

-BkUpOnlyIfClean

指定仅当任何指定的 -Ck 查抄未发明数据问题时才进行备份。保护操纵的运行依次与其在号令提示中呈现的依次不异。如果要同时指定 -BkUpOnlyIfClean,则应在 -BkUpDB/-BkUpLog 参数前指定参数 -CkDB-CkDBNoIdx-CkAl-CkAlNoIdx-CkTxtAl-CkCat,不然不管是不是查抄报表问题,都将进行备份。

-VrfyBackup

指定当备份完成时在备份上运行 RESTORE VERIFYONLY。

number[minutes | hours | days | weeks | months]

指定时候间隔,用来肯定报表或备份文件是不是陈腐到需求删除的程度。number 是一个整数。有效的示例包含 12weeks、3months 和 15days。如果仅指定了 number,则默许的日期部分为 weeks

一个客户的备份的例子:
每天周六做一次全库备份,保存两周的全库备份(-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

顶一下
(1)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Linux Ubuntu 操纵体系 Unix Android fedora debian
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣