SQLServer中的数据库备份和还原
更多资源: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中的数据库备份和还原的更多相关文章
- 批处理(bat)实现SQLServer数据库备份与还原
原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Microsoft ...
- C#.NET SQL数据库备份与还原解决方案
C#.NET SQL数据库备份与还原解决方案http://www.csframework.com/archive/1/arc-1-20110924-1841.htm 开发框架V2.2(快速开发版)系统 ...
- 【C#】数据库备份及还原的实现代码【转载】
[转载]http://www.codesky.net/article/200908/128600.html C#数据库备份及还原1.在用户的配置时,我们需要列出当前局域网内所有的数据库服务器,并且要列 ...
- SQL Server 2008数据库备份和还原(还原是必须有完整备份)
转自lwccc, SQLserver2008数据库备份和还原问题(还原是必须有完整备份) 首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用. 这个连接是某高手的异常恢复方法, 实 ...
- 【RAC】rac环境下的数据库备份与还原
[RAC]rac环境下的数据库备份与还原 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~ ...
- sql操作数据库(2)--->DQL、数据库备份和还原
查询 查询表中的所有的行和列的数据 select * from 表名; select * from student; 查询指定列的数据:如果有多个列,中间用逗号隔开. select 列名1,列 ...
- MySQL进阶:约束,多表设计,多表查询,视图,数据库备份与还原
MySQL进阶 知识点梳理 一.约束 1. 外键约束 为什么要有外键约束 例如:一个user表,一个orderlist 如果现在想要直接删除id为1的张三,但是orderlist里还有用户id为1的订 ...
- PostgreSQL 数据库备份与还原
PostgreSQL 数据库备份与还原 目录 备份 还原 栗子 备份 PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以 ...
- Mysql数据库备份和还原常用的命令
Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下 ...
随机推荐
- js 函数
函数:封装了某一块功能 四要素: 1.返回类型 2.函数名 3.参数列表4.函数体强类型语言 返回类型 函数名 首字母大写 参数列表string(字符串) Show (int a){ 函数体 }弱类型 ...
- 在linux 服务器上用.htaccess文件实现二级域名访问子目录
实现子域名绑定网站子目录的方法有很多,比如可以用js跳转,可以用php实现,可以301跳转等,但最常用的应该是RewriteEngine方式了. 新建一个笔记本命名为.htaccess(在wind ...
- 关于ZedGraph
http://www.codeproject.com/Articles/5431/A-flexible-charting-library-for-NET
- 51nod1265(判断四个点是否共面)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1265 题意:中文题诶- 思路:假设现有a, b, c, d四 ...
- 用C++实现的解数独(Sudoku)程序
我是一个C++初学者,控制台实现了一个解数独的小程序. 代码如下: //"数独游戏"V1.0 //李国良于2016年11月11日编写完成 #include <iostream ...
- 获取json数据
通过异步获取json来展示数据表格,性能提高不少.实例如下: 前台: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...
- 《learning hard C#学习笔记》读书笔记(20)异步编程
20.1 什么是异步编程异步编程就是把耗时的操作放进一个单独的线程中进行处理. 20.2 同步方式存在的问题 namespace 异步编程 { public partial class For ...
- SQL Server 系统数据库
Sql Server的系统数据库分为:master.model.msdb,resouce和tempdb,这五个数据库在SQL Server中各司其职,作为研发人员,很有必要了解这几个数据库的职责,下面 ...
- 【干货】jsMind思维导图整合Easyui的右键菜单
原材料: 1.web版本的JavaScript思维导图(BSD开源协议)[戳这里去官网]. 2.easyui最新版[戳这里去官网]. 这里是原本的jsMind: 在线测试地址 :http://hizz ...
- Java 之 I/O流
1.流 a.分类:①字节流:InputStream.OutputStream ②字符流:Reader.Writer b.选择:①判断是 输入 还是 输出 (站在程序的立场上) ②判断是 字节 还是 字 ...