我使用 IBM Data Studio 备份了名为 URCTEST 的测试数据库。
现在,我想将其恢复到实际(空)数据库 URCDB。
我对 IBM DB2 的经验很少,所以我认为这与 SQL Server 类似,我可以在其中创建一个测试数据库,在不危及实际数据库的情况下执行一些操作,然后在获得满意的结果后备份该测试数据库并将其恢复为真实数据库。
我右键单击 URCTEST 并创建了备份。它在 C:\(我指定要保存备份的位置)中创建了一个“URCTEST.0.DB2.DBPART000.20130318172034.001”文件。
我如何将其恢复到 URCDB?我尝试右键单击 URCDB,然后单击“恢复”。我将选择备份映像的方法设置为“手动输入信息”,并添加了一个备份位置,设置为 C:\
它给了我以下错误:
无需提示即可从“C:\”恢复数据库 URCDB,恢复时间为 20130318093537
Failed to execute command. DAS returned the following error: sqlcode=-22220 output=SQL2542N No match for a database image file was found based on the source
database alias "URCDB" and timestamp "20130318093537" provided.
答案1
我找到了解决方案;它比我想象的要简单得多,但同时,比我遇到的任何数据库恢复都更复杂、更苛刻(到目前为止)。
我右键单击数据库 URCDB,单击“恢复”,然后将“选择备份映像的方法”设置为“手动”。
然后,在结果字段中,我选中了备份映像来自另一个数据库,并在文本字段中输入“URCTEST”。此外,我还添加了一个备份位置,并将其设置为 C:\,我的备份就存放在这里(我实际上并没有选择 .001 文件本身,只是选择目录)。
到目前为止,我做过的最繁琐和最重要的事情是将日期和时间设置为适当的值 - 即我进行备份的日期和时间。默认情况下(我认为),在创建备份映像时,它会将日期和时间用作生成的 .001 文件名称的一部分。
我很庆幸我决定不重命名该文件。
之后,我只需单击“运行”,一切都会顺利进行,尽管速度很慢。
我在 Windows 7 32 位系统上使用 IBM Data Studio 3.2 和 IBM DB2 10.1。
答案2
RESTORE DATABASE
如果要将数据库恢复到具有不同名称的数据库中,命令的语法会略有不同URCTEST
。我不确定您是否可以使用 Data Studio 执行此操作,但您当然可以在命令行中手动执行恢复。
根据备份映像的名称,您使用的是 DB2 10.1,因此我假设您的数据库具有自动存储。您可以通过启动 DB2 命令窗口来执行以下命令:
RESTORE DATABASE URCTEST FROM "C:\" INTO URCDB TAKEN AT 20130318093537 WITHOUT PROMPTING
如果你的数据库没有自动存储,你需要执行重定向恢复。