方法三:对数据库的库结构和数据库记录做全量备份
在我们的实际应用当中,数据库都比较庞大,使用dump和load命令并不是最好的选择。我们可以分别对数据库的库结构和数据记录做全量备份。
(1)数据库结构的备份
用Sybase图形界面系统管理工具(Sybase Central)将需要备份的数据库下的相关内容,包括数据库设备、logins等数据库外的对象选中,并产生DDL文件。当数据库中的表及其他数据库对象总数量少于255个时,可直接对整个数据库生成一个DDL文件。注意:当总数大于255个时,应分批生成多个DDL 文件。
(2)数据库记录的备份
在advantage中制作一个使用bcp命令的操作系统批处理文件。其功能就是使数据库系统的数据表与操作系统的文件之间交换数据。bcp命令的格式如下:
bcp表名out路径名 文件名-c –t 分隔符 –u(用户名) -p(密码) -s(服务器名)。
例如脚本:
sekect“bcp”数据库名….“,name”out”,name,” .out” “-Usa_S服务器名” from sysobjects where type=“U”
将其执行结果存成一个以.bat扩展名的批文件。
(3)数据库结构的恢复
上面所生成的DDL文件在进行数据库结构的恢复时,可以直接使用Sybase图形界面系统管理工具(Sybase Advantage)打开,然后单击“Excute”创建数据库,即可恢复。注意:当生成的DDL文件或SQL文件在advantage中打开后,若超过3000行则可能不能执行,应在操作系统命令行方式下使用isql命令。其命令格式为
isql Uusername Ppassword –I d11
如:isql-Usa-Ssybase-ixxx.SQL(dll)
(4)数据记录的恢复
在操作系统命令行方式下运行上面所生成的.bat批文件时,会自动将数据库所有用户表中的记录都置于若干个与用户表同名的操作系统文件里(扩展名为.out)。在创建好数据库结构的基础上,再将上面的批文件中的“out”全部修改成“in”,执行修改后的批文件,将数据复制入用户表中,从而实现数据记录的恢复。
总结:数据库的备份与恢复的主要工作就是为数据做一个安全的拷贝,这样才能有效地防止在故障出现时发生数据丢失的情况。因此,在实际的应用当中,应该根据具体的情况,制定切合实际的备份与恢复方案,明确在各种故障情况中数据可恢复的程度是否满足了应用的需求,这样才能不断完善备份与恢复方案。
