• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL Server 2005 数据库快照(database_sqlserver

sqlserver 搞代码 3年前 (2018-06-16) 71次浏览 已收录 0个评论

数据库快照(atabase snapshot)是一个只读的,静态的数据库视图。一个数据库可以有多个数据库快照,每个数据库快照在被显性的删除之前将一直存在。数据库快照将保持和源数据库快照被创建时刻一致,所以可被用来做一些报表。并且由于数据库快照的存在,我们可以很容易的把数据库回复到快照创建时刻。

数据库快照提供了一个把数据库回复到一个特定时间点的有效途径。一个数据库快照将记录从这个数据库快照被创建后已经提交的所有事务,这样你在对数据库进行错误操作后也不会发出“如果上天能够再给我一次机会的话,我。。。。。。”的感慨。由于是只记录数据库发生的改变,也不是在当前的那一时刻数据库的状态,所以数据库文件并不会很大,如下例:

 

–我们先来为数据库Northwind创建一个数据库快照,命名为NORTHWIND_DBSS1200,并让此数据库快照的文件存储在C:/NORTHWIND_DATA_1200.SS文件中

CREATE DATABASE NORTHWIND_DBSS1200 ON

( NAME = NORTHWIND, FILENAME =

‘C:/NORTHWIND_DATA_1200.SS’ )

AS SNAPSHOT OF NORTHWIND;

GO

 

–可以看到这个数据库快照文件的属性,如下:可以看到现在Size on disk为128K

 

USE NORTHWIND

GO

–现在Northwind数据库进行更新操作

UPDATE DBO.CUSTOMERS

SET COMPANYNAME=’NEWEGG.COM’

–可以看到现在Size on disk为384K

–看一下Northwind数据库中被更新的列中存储的内容是已经被更新过的

SELECT DISTINCT  COMPANYNAME FROM NORTHWIND.DBO.CUSTOMERS

 

–看一下NORTHWIND_DBSS1200数据库中被更新的列中存储的内容还是被更新以前的内容

SELECT DISTINCT  COMPANYNAME  FROM NORTHWIND_DBSS1200.DBO.CUSTOMERS

–IF AN ERROR DAMAGES A DATABASE, YOU MAY CHOOSE TO REVERT THE DATABASE TO A DATABASE SNAPSHOT THAT PREDATES THE ERROR. REVERTING OVERWRITES THE ORIGINAL SOURCE DATABASE WITH THE REVERTED DATABASE.

RESTORE DATABASE NORTHWIND FROM

DATABASE_SNAPSHOT = ‘NORTHWIND_DBSS1200’

GO

–确认

SELECT DISTINCT  COMPANYNAME FROM NORTHWIND.DBO.CUSTOMERS

 

–删除数据库快照

DROP DATABASE NORTHWIND_DBSS1200

从数据库快照中恢复数据库到快照创建的时刻

 

http://www.gaodaima.com/36185.htmlSQL Server 2005 数据库快照(database_sqlserver

欢迎大家阅读《SQL Server 2005 数据库快照(database_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址