为运行中的数据库创建数据库文件和事务日志的客户端或服务器端备份。
dbbackup [ options ] target-directory
选项 | 说明 | ||
---|---|---|---|
@data |
读取来自指定的环境变量或配置文件的选项。请参见使用配置文件。 如果要保护口令或配置文件中的其它信息,可以使用文件隐藏实用程序对配置文件的内容进行模糊处理。请参见文件隐藏实用程序 (dbfhide)。 |
||
-b block-size | 指定在将页面从数据库服务器转移到 dbbackup 时所用的最大块大小(以页数计)。dbbackup 实用程序会尝试分配此页数;如果分配失败,它会将该值减半,然后再次尝试,直到分配成功。缺省大小为 128 页。 | ||
-c "keyword=value; ..." |
指定连接参数。用户 ID 必须有 DBA 或 REMOTE DBA 权限才能连接到该数据库。请参见连接参数。 |
||
-d | 只备份主数据库文件,不备份事务日志文件(即使存在)。 | ||
-k checkpoint-log-copy-option |
指定 dbbackup 在将数据库文件写入目标目录之前对数据库文件的处理方式。选择在备份期间是应用前映像还是复制检查点日志会对性能产生影响。如果通过指定 -s 选项在服务器上执行备份,则 -k 的缺省设置为 auto;否则,缺省设置为 copy。 auto 数据库服务器会检查备份目录所在卷的可用磁盘空间量。备份开始时,如果可用磁盘空间至少是数据库大小的两倍,备份工作会像指定了 copy 那样继续进行。否则,会像指定了 nocopy 那样继续进行。只有指定了 -s 才可以使用此设置。 copy 备份期间会读取数据库文件,但不对任何修改过的页面应用前映像。整个检查点日志以及系统 dbspace 会复制到备份目录中。下次数据库启动时,数据库服务器会自动将其恢复到备份开始时在检查点所处的状态。 因为页面前映像无需写入临时文件,所以使用此选项可以实现更好的备份性能,并能减少服务器内部对备份期间正在运行的其它连接的争用。但由于数据库文件的备份副本包含检查点日志,而后者又包含备份开始之后所修改的任何页面的前映像,所以数据库文件的备份副本可能要比备份开始时的数据库文件大一些。copy 选项应在目标目录不存在磁盘空间问题的情况下使用。 nocopy 备份期间则不会复制检查点日志。如果选择此选项,曾修改过的页面的前映像会被保存在临时文件中,以便在备份过程中加以应用。数据库文件的备份副本与备份操作开始时的数据库大小相同。由于备份副本中不含检查点日志,因此实际可能会略小一些。使用此选项可以减小备份的数据库文件,但会减缓备份过程,并有可能降低数据库服务器中其它操作的性能。它在目标驱动器空间有限的情况下非常有用。 recover 数据库服务器会复制检查点日志(与使用 copy 选项时一样),但会在备份结束时将检查点日志应用于数据库。这样会将备份的数据库文件恢复到备份操作开始时的状态(和大小)。此选项在备份驱动器空间有限的情况下非常有用(它用来备份检查点日志的空间量与 copy 选项相同,但生成的文件会小一些)。只有指定了 -s 才可以使用此设置。 |
||
-l filename |
可实现在服务器崩溃时使辅助系统快速启动。活动备份不会停止。它会在服务器运行期间持续运行。它会一直运行,直到主服务器崩溃。主服务器崩溃时,活动备份会关闭,但备份的日志文件保持原状,并可以用于快速启动辅助系统。请参见活动备份和事务日志镜像之间的区别和创建活动备份。 如果指定 -l,则无法使用 -s 在服务器上创建映像备份。 |
||
-n |
此选项将备份事务日志文件的命名约定更改为 yymmddxx.log,其中 xx 是从 AA 到 ZZ 的连续字母,yymmdd 代表当前的年月日。此选项与 -r 一起使用。 事务日志文件的备份副本会存储在命令所指定的目录中,并采用 yymmddxx.log 命名约定。这样,多个版本的事务日志文件备份副本就可以保存在同一个备份目录中。 也可以使用 -x 和 -n 选项来重命名日志副本。例如
|
||
-o filename | 将输出消息写入指定的文件中。 | ||
-p |
将进行了格式化处理的进度消息从数据库服务器发送到客户端。 除非使用 -s 选项进行了服务器端备份,否则将忽略 -p 选项。 有关进行了格式化处理的进度消息的信息,请参见progress_messages 选项。 |
||
-q | 取消输出消息。只有在命令提示符下运行此实用程序时才可以使用此选项。 | ||
-r |
重命名事务日志,并启动新的事务日志。它会强制执行检查点操作并导致执行以下三个步骤:
|
||
-s | 使用 BACKUP DATABASE 语句在服务器上创建映像备份。如果指定 -s 选项,就无法使用 -l 选项(创建事务日志的活动备份)。指定的目录相对于服务器的当前目录,因此建议指定完整的路径名。另外,服务器在指定的目录上必须具有写权限。指定 -s 后,备份实用程序不显示进度消息,且在其覆盖现有文件时不进行提示。如果希望在尝试覆盖现有文件时获得提示,请不要指定 -s 或 -y。如果指定 -k 恢复选项,就必须指定 -s。 | ||
-t | 创建用作增量备份的备份,因为事务日志可应用于数据库文件的最新备份副本。 | ||
-x |
备份现有事务日志,删除原始日志,然后启动新事务日志。使用数据库镜像时,请不要使用此选项。请参见数据库镜像和事务日志文件。 |
||
-xo |
删除当前事务日志并启动新的事务日志。此操作不执行备份;其目的是在非复制环境中释放磁盘空间。使用数据库镜像时,请不要使用此选项。请参见数据库镜像和事务日志文件。 小心不要对正在复制或同步的数据库使用 -xo 选项。SQL Remote 和 MobiLink 依赖于事务日志信息。 |
||
-y | 创建备份目录或替换目录中以前的备份文件,而无需确认。如果希望在尝试覆盖现有文件时得到提示,请不要指定 -s 或 -y。 | ||
target-directory | 指定将备份文件复制到其中的目录。如果该目录不存在,则会进行创建。但是,父目录必须存在。缺省情况下,备份实用程序会创建一个数据库文件的客户端备份。您可以使用 BACKUP DATABASE 语句,通过指定 -s 在服务器上创建备份。 |
备份实用程序会为单个数据库的所有文件创建一个备份副本。一个简单的数据库由以下两个文件组成:主数据库文件和事务日志。更复杂的数据库可以将表存储在多个文件中,每个文件都是一个单独的 dbspace。所有备份文件都与数据库文件同名。备份实用程序创建的映像备份由每个所备份文件对应的单独文件组成。
有关创建档案备份(包含数据库文件和事务日志的单个文件)的详细信息,请参见档案备份。
对运行中的数据库使用备份实用程序等同于在数据库未运行时复制数据库文件。您可以在其它应用程序或用户使用数据库时,使用备份实用程序来备份它。
如果 -d 或 -t 选项均未使用,则备份所有的数据库文件。
缺省情况下,备份实用程序会创建一个数据库文件的客户端备份。您可以使用 BACKUP DATABASE 语句,通过指定 -s 在服务器上创建备份。
有关执行服务器端备份的信息,请参见BACKUP 语句。
不得以任何方式更改数据库和事务日志的备份副本。如果在备份过程中未执行任何事务,或者指定了 BACKUP DATABASE WITH CHECKPOINT LOG RECOVER 或 WITH CHECKPOINT LOG NO COPY,则可以使用只读模式或通过验证备份数据库的副本来验证备份数据库的有效性。
但是,如果有正在执行的事务,或者指定了 BACKUP DATABASE WITH CHECKPOINT LOG COPY,则当您启动数据库服务器时,数据库服务器必须执行数据库恢复。恢复功能会修改备份副本,这是不希望出现的情况。
除了 dbbackup 外,还可以采用下列方式访问备份实用程序:
有关所推荐的备份过程的详细信息,请参见备份和数据恢复。
退出代码是零(成功)或非零(失败)。
有关退出代码的详细信息,请参见软件组件的退出代码。
例如,以下命令会将运行于名为 sample_host 的计算机(以 DBA 用户身份连接)上的示例数据库备份到 SQLAnybackup 目录中:
dbbackup -c "Host=sample_host;DBN=demo;UID=DBA;PWD=sql" SQLAnybackup |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |