更多资源:http://denghejun.github.io

备份

SQLServer中的备份,这里是T-SQL的用法,具体示例代码如下,使用也相对简单,其中TestDatabase

是指所需备份的数据库名称,@FileName是需要备份的全路径,例如@FileName的可能值为'D://Backups//file1.bak';

  USE TestDatabase
BACKUP DATABASE TestDatabase
TO DISK = @FileName

还原

SQLServer中的还原稍微麻烦点,因为涉及到一些权限或者访问的问题,在实际中也遇到过这些问题,

在此作一个简单介绍,下边是基本的还原T-SQL代码,其中各个元素同备份一样,需要注意的是SQLServer

建议该脚本的执行环境最好要在MASTER中:

USE MASTER
RESTORE DATABASE TestDatabase
FROM DISK = @FileName

但是在很多时候,上边的脚本并不理想,一般会出现"[Err] 42000 - [SQL Server]因为数据库正在使用,

所以无法获得对数据库的独占访问权。42000 - [SQL Server]RESTORE DATABASE 正在异常终止。",

这样的错误,很明显,当我们在还原数据库的时候,其他用户正在使用的话,该脚本将会执行失败,一般的

解决方案是杀掉所有正在使用数据库的进程。但断开所有连接用户并回滚事务,并在稍后的某个时间显示的数据

库处于在线状态,显得更优雅些:

USE master
ALTER DATABASE TestDatabase SET offline WITH ROLLBACK IMMEDIATE
RESTORE DATABASE TestDatabase FROM DISK='F://test.bak' WITH REPLACE
ALTER DATABASE TestDatabase SET online

细心的你可能注意到,在还原时加了特殊的OPTION: WITH REPLACE,是因为前面BACKUP时,我们没有备份

数据库LOG相关的东西,所以我们干脆就直接将其按备份文件(.bak)全部替换就行了。不加,该脚本执行会失败,

且提示你要么加上REPLACE,要么备份LOG。上边的SET OFFLINE是让数据库暂时处于离线状态,并将事物回滚,接

着我们执行RESTORE,最后,将数据库重新设置为ONLINE状态,即可完成数据库还原操作。

SQLServer中的数据库备份和还原的更多相关文章

  1. 批处理(bat)实现SQLServer数据库备份与还原

    原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Microsoft ...

  2. C#.NET SQL数据库备份与还原解决方案

    C#.NET SQL数据库备份与还原解决方案http://www.csframework.com/archive/1/arc-1-20110924-1841.htm 开发框架V2.2(快速开发版)系统 ...

  3. 【C#】数据库备份及还原的实现代码【转载】

    [转载]http://www.codesky.net/article/200908/128600.html C#数据库备份及还原1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列 ...

  4. SQL Server 2008数据库备份和还原(还原是必须有完整备份)

    转自lwccc, SQLserver2008数据库备份和还原问题(还原是必须有完整备份) 首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用. 这个连接是某高手的异常恢复方法, 实 ...

  5. 【RAC】rac环境下的数据库备份与还原

    [RAC]rac环境下的数据库备份与还原 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~ ...

  6. sql操作数据库(2)--->DQL、数据库备份和还原

    查询 查询表中的所有的行和列的数据 ​ select * from 表名; ​ select * from student; 查询指定列的数据:如果有多个列,中间用逗号隔开. select 列名1,列 ...

  7. MySQL进阶:约束,多表设计,多表查询,视图,数据库备份与还原

    MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订 ...

  8. PostgreSQL 数据库备份与还原

    PostgreSQL 数据库备份与还原 目录 备份 还原 栗子 备份 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以 ...

  9. Mysql数据库备份和还原常用的命令

    Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下 ...

随机推荐

  1. 建表过程-列名&列类型&修改表B

    怎么建表? 主键 名称 重量 价格 生产日期 保质期 产地 种类                       分析:我们只要把第一行的表头建好后,这张表也就完成了.  术语:建表的过程就是声明字段过程 ...

  2. Ubuntu安装Mysqlcluster集群

    可参考:http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%92%8C ...

  3. Java Graphics2D 画出文字描边效果

    在CSDN看到的,在此记下. (http://bbs.csdn.net/topics/390703095) import javax.swing.*; import java.awt.*; impor ...

  4. [转]DDD领域驱动设计基本理论知识总结

    领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章. 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity i ...

  5. mysql 表被锁时,需要执行的命令

    1. 错误代码:1100 Table 't_depart_info' was not locked with LOCK TABLES的解决方法 unlock tables;

  6. gitbook安装与使用之windows下搭建gitbook平台

    最近需要在GitBook中去阅读电子书 安装nodejs cnpm安装gitbook 解压书籍文件,并cd到书籍文件目录 gitbook serve 浏览器访问localhost:4000 先在win ...

  7. TotoiseSVN的基本使用方法

    TotoiseSVN的基本使用方法 在 项目管理实践教程一.工欲善其事,必先利其器[Basic Tools]中,我已经讲解了怎样安装TortoiseSVN.在上面的讲解中已经讲了怎么使用VisualS ...

  8. 《UML大战需求分析》阅读随笔(三)

    一: 需求中提到的各种业务概念.人物等,经过抽象后都可以视之为类. 平时遇到的人.物,我们将遇到的都是具体的人.物,也就如程序中的对象,是一个实实在在的东西. 当我们分析需求的时候,设计模型的时候,我 ...

  9. Pascal 语言中的关键字及保留字

    absolute //指令(变量) abstract //指令(方法) and //运算符(布尔) array //类型 as //运算符(RTTI) asm //语句 assembler //向后兼 ...

  10. java微信公众号开发----搭建ngrok环境

    下载ngrok,一个能够在公网安全访问内网Web主机的工具 下载地址:http://download.csdn.net/download/u014252425/9389847,亲测可用 下载完成后,进 ...