日期:2014-05-19  浏览次数:20504 次

在线等答案~~~~求教一个数据库备份的问题
执行以下语句
RESTORE   DATABASE   TEST
FROM   DISK= 'D:\TEST\TEST.BAK '
WITH   FILE=1
进行还原数据库的时候出现如下错误:

消息   3154,级别   16,状态   4,第   1   行
备份集中的数据库备份与现有的   TEST数据库不同。
消息   3013,级别   16,状态   1,第   1   行
RESTORE   DATABASE   正在异常终止。

D:\TEST\TEST.BAK备份文件是用企业管理器备份出来的,是不是RESTORE命令只能还原从BACKUP命令备份出来的备份文件?如果是的话,应该怎样写SQL语句来进行还原?



------解决方案--------------------
以下错误解释貌似非常清楚,不多说了

错误 3154
严重级别 16
消息正文
备份集中备份的数据库与现有的数据库 ' '%1! ' ' 不同。

解释
备份集是与正在还原的数据库同名的一个数据库备份。但是,正在还原的数据库是由不同于备份集中数据库的 CREATE DATABASE 语句所创建。即使数据库具有相同的名称,事实上它们也是不同的数据库。

对策
要么重新发出 RESTORE DATABASE 命令并使用 WITH REPLACE 子句以重写现有的数据库,要么将备份集还原为其它数据库名称。如果是将备份集还原为其它数据库名称,确保要创建的文件不存在并没有为另一个数据库所用。如果选错了要还原的备份集,则选择现有数据库的备份,并将其还原。