根据源数据库别名“URCDB”找不到数据库映像文件的匹配项

我使用IBM Data Studio来备份名为URCTEST的testing数据库。

现在,我想将它恢复到实际的(空的)数据库URCDB。

我对IBM DB2有一点经验,所以我认为这与SQL Server类似,我可以创build一个testing数据库,在不危及实际数据库的情况下执行某些操作,然后在满意的结果下备份该testing数据库,然后恢复到真正的。

我右键单击URCTEST并创build了一个备份。 它在C:\中创build了一个“URCTEST.0.DB2.DBPART000.20130318172034.001”文件(我指定备份保存)。

如何将其恢复到URCDB? 我尝试右键单击URCDB,然后单击还原。 我将select备份映像的方法设置为“手动input信息”,并将备份位置设置为C:\

它给了我以下错误:

恢复数据库URCDB从“C:\”采取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. 

我find了解决办法 这比我想象的要简单得多,但同时也比我所遇到的任何数据库恢复(迄今为止)都要复杂和苛刻。

我右键单击数据库URCDB,单击“还原”,然后将“select备份映像的方法”设置为“手动”。

然后,在结果字段中,我检查了备份映像是否来自另一个数据库,并在文本字段中input“URCTEST”。 另外,我已经添加了一个备份位置,并将其设置为C:\,这是我备份所在的位置(我实际上并没有select.001文件本身,只是目录)。

到目前为止,我所做的最枯燥,最重要的事情是将date和时间设置为适当的值 – 即我做完备份的date和时间。 默认情况下(我认为),在创build备份映像时,它使用date和时间作为生成的.001文件的名称的一部分。

我很幸运,我决定不重命名文件。

之后,我只是点击运行,一切都很顺利,虽然缓慢。

我在Windows 7 32位系统上使用IBM Data Studio 3.2和IBM DB2 10.1。

如果要将URCTEST数据库还原到具有不同名称的数据库,则RESTORE DATABASE命令的语法稍有不同。 我不确定您是否可以使用Data Studio来执行此操作,但您肯定可以在命令行上手动执行还原。

根据备份映像的名称,您正在使用DB2 10.1,所以我将假定您的数据库具有自动存储。 您可以通过启动一个DB2命令窗口来执行下面的命令:

 RESTORE DATABASE URCTEST FROM "C:\" INTO URCDB TAKEN AT 20130318093537 WITHOUT PROMPTING 

如果您的数据库没有自动存储,则需要执行redirect恢复 。