SQLServer2005数据库没有删除所有其他快照引发的问题及其解决方
? ? ? ? ??SQLServer2005数据库没有删除所有其他快照引发的问题及其解决方法 问题重现及其解决方法如下: --查询FYTEST数据库下TEST表中的内容 SELECT?*?FROM?FYTEST.dbo.TEST; --创建FYTEST数据库的第一个快照,快照为:FYTEST_DBSS1 CREATE?DATABASE?FYTEST_DBSS1?ON (NAME?=?FYTEST, ?FILENAME?=?'D:FYTEST_DBSS1.SS') AS?SNAPSHOT?OF?FYTEST GO 如下图: --更新FYTEST数据库中TEST表的数据 UPDATE?FYTEST.TEST?SET?levelNO='二级'; --查询更新后的数据 --创建FYTEST数据库的第二个快照,快照为FYTEST_DBSS2 DATABASE?FYTEST_DBSS2?'D:FYTEST_DBSS2.ss'OF?FYTEST GO '三级'; --查看快照1中TEST表的内容 FROM?FYTEST_DBSS1 --查看快照2中TEST表的内容 FROM?FYTEST_DBSS2 --查看现在FYTSET数据库中TEST表的内容 --从数据库快照中恢复数据库到快照创建的时刻 --使用master数据库 USE?master GO RESTORE?DATABASE?FYTEST FROM??DATABASE_SNAPSHOT'FYTEST_DBSS1' GO 产生错误的原因是没有删除所有其他快照 解决方法: 方法一:手动删除其它快照 数据库快照-->找到要删除的快照-->右键-->删除即可。 方法二:使用代码删除其它快照 DROP?DATABASE?FYTEST_DBSS2 注意:这里的?FYTEST_DBSS2为要删除的快照名称 删除其他快照后,然后再重新执行下面语句 --从数据库快照中恢复数据库到快照1创建的时刻 'FYTEST_DBSS1' GO 发现执行成功! --确认是否恢复了FYTEST数据库下的TEST表的内容 .DBO 可以看到FYTEST数据库下TEST表中的数据恢复了。 --删除数据库快照 DATABASE?FYTEST_DBSS (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |