SQLServer2005数据库快照的简单使用
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SQLServer2005数据库快照的简单使用 ?快照理论: ? ? ? 数据库快照就是保存某个数据库在快照那一瞬间的状态.快照和备份原理上有所不同,但是功能有一点相同那就是可以将数据还原为备份的那个时刻.快照的原理是新建一个数据库指针,在原数据库没有变化的情况下快照是不占用空间的,而数据库发生了变化,那么在变化前,被修改的数据页会先复制一份到快照文件中,然后再对原数据页进行修改.显然这样做的好处就是比备份数据库占用空间小.快照是只读的。 快照实战: --查询FYTEST数据库下TEST表中的内容 SELECT?*?FROM?FYTEST.dbo.TEST; --创建FYTEST数据库快照 CREATE?DATABASE?FYTEST_DBSS?ON (NAME?=?FYTEST, ?FILENAME?=?'D:FYTEST_DBSS.SS') AS?SNAPSHOT?OF?FYTEST GO 如下图: --更新FYTEST数据库中TEST表的数据 UPDATE?FYTEST.TEST?SET?levelNO='二级'; --查询更新后的数据 --查询快照中的数据 FROM?FYTEST_DBSS; --从数据库快照中恢复数据库到快照创建的时刻 --使用master数据库 USE?master GO RESTORE?DATABASE?FYTEST FROM??DATABASE_SNAPSHOT'FYTEST_DBSS' GO --确认是否恢复了FYTEST数据库下的TEST表的内容 .DBO 可以看到FYTEST数据库下TEST表中的数据恢复了。 --删除数据库快照 DROP?DATABASE?FYTEST_DBSS --删除其他任何数据库快照。(有多个快照的情况,只保留一个) IF?EXISTS?FROM?sys.databases ????WHERE?NAME'FYTEST_DBSS') ????DATABASE?FYTEST_DBSS; GO (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |