SQL Server 备份和还原的21个疑难问题解决办法

来源:互联网 发布:南昌大学软件学院录取 编辑:程序博客网 时间:2024/05/16 14:11


 


份和还原数据库和事务日志时可能会遇到下面的问题:

1.使用 BACKUP 语句或 RESTORE 语句时,会发生语法错误。该错误表明数据库是在 Microsoft® SQL Server™ 6.5 版的兼容模式中。关键字 BACKUP 和 RESTORE 只在 SQL Server 7.0 或 SQL Server 2000 的数据库中有效。

在使用 BACKUP 语句或 RESTORE 语句前,将 SQL Server 的兼容级别设为 80。

2.BACKUP 语句不能在创建或删除数据库文件的同时执行。

冲突操作完成后,请重新发出备份操作。

3.备用数据库如果还没有恢复,就不能备份。

在将操作切换到备用状态之前,使用主服务器的备份。

4.所还原的备份是有效的 Microsoft 磁带格式,但不是 SQL Server 的备份。

要确定备份内容,使用 RESTORE HEADERONLY。

5.备份集是与正在还原的数据库同名的一个数据库备份。但是,正在还原的数据库是由与备份集中的数据库不同的 CREATE DATABASE 语句所创建的。

重写现有的数据库或把备份集还原成不同的数据库名。

6.尝试使用逻辑设备,即非定义的备份设备。

创建设备或使用 BACKUP 语句的 TAPE = 或 DISK = 语法。


7.媒体家族跨越多卷。还原操作已经处理了指定卷上的数据。

用尚未处理的卷来代替当前卷。

8.备份设备并不含有在 Microsoft 磁盘格式中的数据。


9.媒体家族跨越多卷。还原操作需要处理在错误信息中指定的卷号,但却发现了一个不同的卷号。

为了继续还原操作,用错误信息中指定的卷号代替当前卷。


10.媒体家族跨越多卷。还原操作要处理的备份集从早于插入命名设备的卷开始。

用包含目标备份集开始部分的卷替代当前卷。


11.还原操作已完全处理了命名设备上的媒体家族,而且现在已准备好重新使用该设备还原一个剩余的媒体家族。

用尚未处理的媒体家族的第一卷替代当前卷。


12.创建备份集的备份操作没有成功完成。

如果还原数据库备份,可以还原另一个数据库备份并且应用事务日志;或者,如果还原事务日志备份,还可以应用下一个事务日志备份。

13.命名设备上的卷并不属于与正在处理的其它卷一样的媒体集。

对于磁带媒体集,删除有问题的卷,然后插入媒体家族的下一卷;或者,对于磁盘,则重新发出命令,仅命名相同媒体集的那些备份设备部分。


14.插入命名设备的磁带是当前媒体集的一部分,而且可能不会用作延续媒体。

用可以重写的新磁带代替当前卷。

15.服务器太忙不能执行备份或还原操作。

减少服务器负荷后,重试该操作。

16.当恢复模型为 SIMPLE 时,有些语句不允许使用。使用 BACKUP DATABASE,或使用 ALTER DATABASE 更改恢复模型。


17.失败后还原数据库,必须从完整的数据库备份或完全的文件备份集开始。日志备份创建于第一个数据库或文件备份之前。

在备份事务日志之前,执行完整的数据库备份。


18.还原操作在上一次还原和尝试应用的事务日志之间,发现了间隙。

根据最初的创建顺序,应用事务日志备份。

19.数据库恢复后,将不能再执行其它的还原操作。

重新启动还原序列,除了最后的 RESTORE 语句外,全面使用 NORECOVERY 选项。

20.不能将数据库恢复到当初建立当前日志备份时数据库的状态。在此之后,至少修改了一个文件。因此,恢复是不可能的,因为数据库会保持不一致的状态。

把数据库恢复成最新状态或指定的时点。

21.由于备份文件最初是用一个扇区大小格式化的而且现在处于另一个扇区的设备上,因此不能使用。

SQL Server 使用不含缓冲区的 I/O,要求扇区对齐。必须从具有相同扇区大小的磁盘还原备份集,或者通过网络,后者使用含有缓冲区的I/O。或者,可以在备份数据库时,指定一个 WITH BLOCKSIZE 子句。


转载请注明本帖出自中联IT社区 http://www.woxit.cn/,本贴地址:http://www.woxit.cn/viewthread.php?tid=3640

 

 

 

 

 

 

原创粉丝点击