风管穿人防墙套管:在SQL SERVER 7中如何用语句备份数据库

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 19:02:01
在SQL SERVER 7中如何用语句备份数据库

BACKUP 语句
说明

此语句用于备份数据库和事务日志。
语法 1(映像备份)

BACKUP DATABASE
DIRECTORY backup-directory
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ON EXISTING ERROR ]
[ HISTORY { ON | OFF } ]

backup-directory : { string | variable }
语法 2(档案备份)

BACKUP DATABASE TO archive-root
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ATTENDED { ON | OFF } ]
[ WITH COMMENT comment string ]
[ HISTORY { ON | OFF } ]

archive-root : { string | variable }

comment-string : string
参数

backup-directory 那些文件在磁盘上的目标位置,相对于启动时服务器的当前目录。如果目录尚不存在,则创建该目录。如果指定空字符串作为目录,则不必先复制日志就可以重命名或截断它。

WAIT BEFORE START 子句 该子句确保数据库的备份副本不包含任何恢复所需的信息。具体说来,它确保每个连接的回退日志为空。

如果使用该子句得到了一个备份,那么可以以只读模式启动该备份数据库并校验它。通过启用备份数据库校验,可以避免额外复制数据库。

WAIT AFTER END 子句 如果要重命名或截断事务日志,可以使用该子句。此语句确保在重命名或截断日志前完成所有事务。如果使用该子句,则备份在结束前必须等待其它连接提交或者回退任何打开的事务。

DBFILE ONLY 子句 该子句可被用于制作主数据库文件和所有关联的 dbspaces 的备份副本。但不复制事务日志。

TRANSACTION LOG ONLY 子句 该子句可被用于制作事务日志的备份副本。但不复制其它数据库文件。

TRANSACTION LOG RENAME [MATCH] 子句 此子句会使服务器在完成备份时重命名当前的事务日志。重命名的副本名称的格式为 YYMMDDnn.log。如果省略了关键字 MATCH,日志的备份副本的名称将与数据库的当前事务日志同名。如果使用了关键字 MATCH,则事务日志的备份副本的名称格式为 YYMMDDnn.log,以与当前事务日志的重命名副本匹配。使用 MATCH 关键字使得同一语句可执行多次而不会覆盖旧的数据。

TRANSACTION LOG TRUNCATE 子句 如果使用该子句,当前事务日志将被截断,并在完成备份时重新启动。

archive-root 档案文件的文件名或磁带驱动器设备名。

要备份到磁带,必须指定磁带驱动器的设备名。例如,在 Windows NT 或 NetWare 上,第一个磁带驱动器是 \\.\tape0。

反斜线 ( \ ) 是 SQL 字符串中的转义字符,因此每个反斜线必须是两道。有关转义字符和字符串的详细信息,请参见字符串。

ON EXISTING ERROR 该子句仅适用于映像备份。缺省情况下,现有文件将在执行 BACKUP DATABASE 语句时被覆盖。如果使用了该语句,若其中任一将由备份创建的文件已存在,则发生错误。

ATTENDED 该子句仅适用于备份到磁带设备时。ATTENDED ON(缺省值)表示有人可以监视磁带驱动器的状态,必要时在驱动器中放入新磁带。如果磁带驱动器要求干预,一条消息将发送到发出 BACKUP 语句的应用程序。然后数据库服务器等待驱动器就绪。这在某些情况下会发生,比如在需要新磁带时。

如果指定 ATTENDED OFF 并需要新磁带或者驱动器没有就绪,则不发送消息并且给出错误。

每个 BACKUP 操作(不论是映像还是档案)都更新名为 backup.syb 的历史文件。

有关 backup.syb 文件的详细信息,请参见 ASLOGDIR 环境变量。

WITH COMMENT 在档案文件和备份历史文件中记录注释。

HISTORY 缺省情况下,每个 BACKUP 操作会将一行添加到 backup.syb 上。通过将 HISTORY 指定为 OFF 可以阻止更新 backup.syb 文件。如果满足以下所有条件,您可能要阻止对此文件的更新:

*

经常备份
*

不存在定期存档或删除 backup.syb 文件的过程
*

磁盘空间非常有限

用法

第一个语法是映像备份,第二个语法是档案备份。

语法 1 映像备份创建每个数据库文件的副本,采用的方式与备份实用程序 (dbbackup) 相同。缺省情况下,备份实用程序将在客户端计算机上制作备份,但在使用备份实用程序时也可以通过指定 -s 选项在服务器上创建备份。但是,对于 BACKUP 语句,备份只能在服务器上创建。

(可选)只能保存数据库文件或事务日志。备份完成后也可以重命名或截断日志。

或者,可以指定空字符串作为目录,这样不必事先复制日志就可以重命名或截断它。这在需要考虑空间大小的复制环境中尤其有用。您可以将此功能与事务日志大小的事件处理程序结合使用,以便在日志达到给定大小时将其重命名,还可以将此功能与 DELETE_OLD_LOGS 选项结合使用,以便删除不再需要的日志。

要从映像备份恢复,请将保存的文件复制回原来的位置并重新应用事务日志,详见备份和数据恢复一章中的介绍。

语法 2 档案备份创建单个文件来保存所有必需的备份信息。目标可以是文件名或磁带驱动器设备名。比 NetWare 5 早的 NetWare 版本不支持到磁带的档案备份。

一个给定的磁带上只能有一个备份。文件 backup.syb 记录在给定服务器上执行的 BACKUP 和 RESTORE 操作。

磁带在备份结束时弹出。

每个磁带上只能有一个档案,但是一个档案可以跨转多个磁带。要从档案备份恢复数据库,使用 RESTORE DATABASE 语句。

如果某个 RESTORE 语句引用了仅包含一个事务日志的文档文件,该语句仍必须指定一个文件名(表明恢复的数据库文件所在的位置)即使该文件不存在。例如,若要从仅包含一个日志的档案恢复到目录 C:\MYNEWDB,应使用如下的 RESTORE 语句:

RESTORE DATABASE 'c:\mynewdb\my.db' FROM archive-location