15.3.1 用SQL Server Enterprise Manager 管理备份
在SQL Server 中无论是数据库备份,还是事务日志备份、差异备份、文件或文件组备份都执行相同的步骤。使用SQL Server Enterprise Manager 进行备份的步骤为:
(1) 启动SQL Server Enterprise Manager, 登录到指定的数据库服务器。
(2) 打开数据库文件夹,右击要进行备份的数据库图标,在弹出菜单上选择AllTasks, 再选择Backup Database ,然后弹出SQL Server Backup 对话框H缤?5-2 所示。
(3) 在SQL Server Backup 对话框的General 标签页的Backup 选项栏内选择单选按钮来选择要进行哪种类型的备份(查看图15-2)。
(4) 通过单击Add 按钮来选择备份设备。然后弹出Choose Backup Destination对话框,如图15-3 所示,可选择File name 单选按钮并给出文件名和路经,也可以选择Backup device 单选按钮,然后从组合框中选择备份设备。
(5) 在Overwrite 选项栏中,若选择了 Append to media 单选按钮,则将备份内容添加到当前备份之后;若选择了Overwrite Existing Media 单选按钮,则将原备份覆盖。
(6) Schedule 复选框,可对备份的时间表进行设置,单击右面的按钮来改变备份的时间安排,在弹出Edit schedule 对话框中设定备份操作何时进行,如图15-4所示。
(7) 在Name 中输入备份安排任务名字,默认为Schedule1。 在Schedule type选项栏中单击任意单选按钮(其中各选项含义见第十七章SQL ServerAgent)。 可以单击Change 按钮来改变当前默认的备份时间设置。然后会弹出Edit Recurring Job 对话框,如图15-5 所示。
(8) 在Edit Recurring Job 对话框中按自己的要求设置备份的时间,然后单击OK,完成时间设置。
(9) 在Database Backup 对话框中选择Option 标签来进行附加设置选择Option标签后的对话框如图15-6 所示。
(10) 在Option 选项栏中通过单击复选框进行选择,如果选中了Verify Backup,表示SQL Server 会阅读全部备份检查备份,介质是否可读,保证介质的完整性;如果选中了Backup Eject Tape 表示备份完成后立即弹出磁带;如果选中了Check Media Set Name 和Backup Set Expiration 表示检查选定的介质和备份设置是否无效;如果选中了 Backup Set Will expire ,则应选择 Expires on,来决定如何对已有的备份设备进行覆盖。
其中:Expires after 表示磁带或文件被覆盖前的天数。
Expires on 表示磁带或文件被覆盖的日期。
(11) 单击确定按钮,创建备份。
15.3.2 Transact-SQL 命令备份数据库
在SQL Server 中使用BACKUP 命令进行备份操作。
1 备份完整数据库
各参数选项的含义说明如下:
- DATABASE
表示进行数据库备份而不是事务日志备份。 - database_name | @database_name_var
表示要进行备份的数据库名称或变量。 - BLOCKSIZE
备份介质内每一数据区块以byte 为单位表示的大小。如果使用磁盘介质,备份将自动决定数据区的大小;如果使用管道,且不指明数据区的大小,则默认其为64KB;如果使用磁带,只有在使用FORMAT 选项时BLOCKSIZE 才有效,未指定其大小时,则系统会自动选择合适的数据区大小。 - DESCRIPTION
描述备份设置的文本。最多有255 个字符。 - DIFFERENTIAL
表示仅备份自上次进行完整数据库备份以来,数据库所发生的变化,即进行差异备份。 - EXPIREDATE
表示保留备份文件的有效期限,若超过该保留期,备份介质上的数据可被覆盖。 - RETAINDAYS
表示备份文件在备份介质中可以保留的天数,如果超过该天数则介质上的数据可被覆盖。只有在使用INIT 选项时,该选项才有效,如果使用SKIP,则此选项无效。 - FORMAT|NOFORMATF
FORMAT 表示将原备份介质头复写,从而将原介质上的所有数据覆盖。如果您的备份介质是由多个磁盘或磁带组成,则只要其中有一个选择了FORMAT 选项,整个备份介质上的数据都将无效。如果使用NOFORMAT 选项,除非指定了INIT 选项,否则不对备份介质复写。 - INIT| NOINIT
INIT 表示备份介质上的所有数据都将被覆盖,介质头将被保留。但是如果在备份介质上的数据结果集仍没有超过使用的有效期或在BACKUP 命令中给出的备份结果集名称与备份介质上的不匹配,则备份介质不会被覆盖。NOINIT 表示将备份结果集添加到当前备份介质中去。 - MEDIADESCRIPTION
表示对介质集进行描述的文本,其长度不超过255 个字符。 - MEDIANAME
表示介质名称,其长度不超过128 个字符。 - NAME
表示备份结果集的名称,其长度不超过128 个字符。 - NOSKIP|SKIP
表示在执行BACKUP 命令时,是否首先检查介质有效期或介质上备份结果集的名称,然后再覆盖备份介质。 - NOUNLOAD|NULOAD
表示在备份完成以后磁带机是否自动倒带且退出磁带机,该选项仅用于磁带设备。 - RESTART
表示SQL Server 重新开始被中断的备份操作,使用该选项可以节省时间,因为备份将从中断点接着进行,而不是从头开始。该选项仅适用于磁带介质且需要多卷磁带。如果您正在使用第一卷磁带,则该选项不可用。 - STATS
表示在备份完某一百分比数据之后,所要显示的信息。 - TRUNCATE_ONLY
表示清除事务日志的非活动部分,而不是进行事务日志备份。由于不进行事务日志
备份,所以在执行含有该选项的BACKUP 命令时,不需要指出备份设备。注意:如果您所采用的备份策略是:进行数据库完整备份,并且不依赖事务日志备份而进行数据库恢复,那么可以在进行完整数据库备份之后执行带有该选项的BACKUP命令,从而清除掉事务日志中非活动部分。
在使用TRUNCATE_ONLY选项前必须进行完整数据库备份,否则将无法恢复被消除掉的非活动部分的事务。 - NO_LOG
表示清除掉非活动的事务日志部分,但其与TRUNCATE_ONLY 的区别在:在使用TRUNCATE_ONLY 选项时,SQL Server 仍记录BACKUP LOG 命令,而使用NO_LOG,SQL Server 不记录BACKUP LOG 命令。因此当事务日志被填满时,只能使用NO_LOG选项,因为任何其它形式的BACKUP 命令都将导致SQL Server 去记录BACKUP LOG命令,但是事务日志已被填满。 - NO_TRUNCATE
表示备份事务日志,而不清除它。使用该选项是为了恢复被破坏的数据库。当执行带有该选项的BACKUP LOG 命令时,事务日志记录从最近一次事务日志备份到数据库失败点的所有事务。但是使用该选项需将事务日志和数据库备份存在于不同的备份设备
上,并且master 数据库没有遭到破坏。