在数据库升级时,为防止升级失败造成的影响,我们通常需要:

1.准备回滚脚本,用于失败后回滚

2.在升级前备份数据库,用于失败后恢复

但回滚脚本需要花费很长时间准备,而备份恢复会导致数据库长时间不可用,为解决此类问题,可以使用数据库快照,数据库快照生成速度和还原速度都远快于备份,且操作简单。

--==========================================================
--创建数据库快照
CREATE DATABASE BackupTestDB_SNAP ON (NAME='BackupTestDB',
FILENAME='D:\DB\BackupTestDB.snap')
,(NAME='BackupTestDB_F1',FILENAME='D:\DB\BackupTestDB_F1.snap')
AS SNAPSHOT OF BackupTestDB;
GO
--==========================================================
--在源数据库中增加表TB4
USE BackupTestDB
GO
SELECT 1 AS ID INTO TB4
--==========================================================
--使用快照还原数据库BackupTestDB
--还原结束后发现表TB4已不存在
USE master
GO
RESTORE DATABASE BackupTestDB
FROM DATABASE_SNAPSHOT='BackupTestDB_SNAP'

Snapshot--使用Snapshot来还原数据库的更多相关文章

  1. SQL Server 在缺少文件组的情况下如何还原数据库

    SQL Server 在缺少文件组的情况下如何还原数据库 一.背景 我有一个A库,由于a,b两张表的数据量比较大,所以对表进行分区:在把A库迁移到一个新的集群上去,我只备份了A库的主分区过去进行还原为 ...

  2. 还原数据库:The backup set holds a backup of a database other than the existing database……

    还原数据库时报以上错误,解决办法是: 1.删除新建的DB 2.直接右键Databases-->Restore Database 3.在弹出窗口中的To database栏位填写需要新建的DB名称 ...

  3. 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明

    原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html   我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一 ...

  4. Mysql备份还原数据库之mysqldump实例及参数详细说明

    [root@localhost myexport]# mysqldump -h211.100.75.204 -uroot -p@^#coopen -P5029 --single-transaction ...

  5. ASP.NET中使用代码来进行备份和还原数据库

    ASP.NET中使用代码来进行备份和还原数据库  SQL代码: 1 2 3 4 5 -- 备份数据库 backup database db_CSManage to disk='c:\backup.ba ...

  6. SQL2005:SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法

    SQL2005 还原数据库失败,提示如下: SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法 出现错误时操作步骤为:右击数据库--->任务- ...

  7. mysql备份还原数据库

    1.备份数据库 mysqldump -u root -p test>/home/victor/test.sql 说明:如果提示找不到mysqldump命令,先用一条find命令查找mysqldu ...

  8. sqlserver 还原数据库

    1.解决什么问题? a.还原数据库的时候老是提示 不能独占 2.解决方案 ALTER DATABASE [ datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE ...

  9. sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法

    这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务 ...

随机推荐

  1. ROS+OPENVPN配置

    环境需求:ROS版本:5.26,OPENVPN版本:OpenVPNPortable1.0.3(下载地址http://sourceforge.net/projects/ovpnp/)在WIN7 X64, ...

  2. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #6 使用localmodconfig缩短编译时间

    HACK #6 使用localmodconfig缩短编译时间 本节介绍使用make localmodconfig生成精简的.config文件,缩短内核编译时间的方法.为了能够应对各种各样的环境,发布版 ...

  3. Pthreads 环境配置,VisualStudio

    ▶ Visual Studio 下配置MPI环境 ● 下载 Pthreads(http://pthreads.org/),解压. ● 针对 x64 程序的配置 ■ 将 Pre-built.2\incl ...

  4. javascript客户端遍历控件与获取父容器对象

    javascript客户端遍历控件与获取父容器对象示例代码 1,遍历也面中所有的控件function findControlAll()    {        var inputs=document. ...

  5. maven+testng+reportng的pom设置

    在pom.xml 加入: <dependency> <groupId>org.testng</groupId> <artifactId>testng&l ...

  6. How do I list subversion repository's ignore settings

    If it is Windows and you are using TortoiseSVN, then right-click on a folder of the working copy, go ...

  7. OpenCv dnn module -实时图像分类

    配置环境:OpenCv3.4, vs2013(x64),Win7.用OpenCv dnn module 实时检测摄像头,视频和图像的分类示例原代码为:https://docs.opencv.org/3 ...

  8. java中getAttribute和getParameter的区别

    getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParame ...

  9. The web application [/zzti] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver

    先说下题目:因为是在我进行处理项目升级时同时遇到了上面的问题,一般都会遇到,所以就一并说了 不罗嗦了,正题: 在本地服务器中提供tomcat6,然后在myeclipse中配置severs tomcat ...

  10. kubelet disk 压力

    systemctl stop docker mv /var/lib/docker /data/lib ln -s /data/lib/docker /var/lib/docker systemctl ...