加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer2005数据库没有删除所有其他快照引发的问题及其解决方

发布时间:2020-12-12 14:01:25 所属栏目:MsSql教程 来源:网络整理
导读:? ? ? ? ? ? SQLServer2005 数据库没有删除所有其他快照引发的问题及其解决方法 问题重现及其解决方法如下: -- 查询 FYTEST 数据库下 TEST 表中的内容 SELECT ? * ? FROM ?FYTEST . dbo . TEST ; -- 创建 FYTEST 数据库的第一个快照,快照为: FYTEST_DBSS1

? ? ? ? ??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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读