惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Vercel News
Vercel News
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
H
Help Net Security
罗磊的独立博客
The Cloudflare Blog
J
Java Code Geeks
博客园 - 叶小钗
I
InfoQ
B
Blog
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
月光博客
月光博客
博客园_首页
雷峰网
雷峰网
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
美团技术团队
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美

博客园 - 为人民服务而努力

C#的类型转换 网址推介 javascript 常用验证函数 vs2005sp1集成安装 web打印大全 - 为人民服务而努力 - 博客园 ORACLE学习小记 精妙TSQL语句不断更新 asp.net2.0文章收集 正则表达式集合 TSQL技巧集 XML-XPATH 相关 XML收藏 最新的文章连接 Asp.net与SQL一起打包部署安装 从Visual Studio 2003迁移到Visual Studio 2005的尝试 SQL Server 2005中的T-SQL SQL Server 2005中的CTE SQL SERVER2005 加密体系2(转) SQL SERVER2005 加密体系1(转)
SQL Server 2005 数据库快照(database Snapshot)
为人民服务而努力 · 2006-08-01 · via 博客园 - 为人民服务而努力

数据库快照(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 disk128K

USE NORTHWIND

GO

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

UPDATE DBO.CUSTOMERS

SET COMPANYNAME='NEWEGG.COM'

--可以看到现在Size on disk384K

--看一下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://tb.blog.csdn.net/TrackBack.aspx?PostId=724345