SQL Server 备份还原
SQL Server支持三种备份方式
- 完全备份;
- 差异备份
- 事务日志备份
一般备份方式为,完全备份/每周,差异备份/每天,事务日志备份/按分钟计,这样可确保备份的高效性和可恢复性。
1. 完全备份
- 备份脚本
BACKUP DATABASE PCT TO DISK ='D:\Company\Data\SQL Server\Backup\PCT.bak';
- 还原备份
RESTORE DATABASE PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH RECOVERY;
2. 差异备份
- 备份脚本
BACKUP DATABASE PCT TO DISK = 'D:\Company\Data\SQL Server\Backup\PCT_Differential.bak' WITH DIFFERENTIAL;
GO
- 还原备份
在SQL Server中还原差异备份,需要先还原在差异备份时间点之前的一个完整备份,在还原完整备份时要加上NORECOVERY参数,SQL语句如下:
RESTORE DATABASE PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH FILE = 1,
NOUNLOAD,
STATS = 10,
NORECOVERY
GO
还原差异备份时,如果只有一个差异备份文件需要还原,无需使用NORECOVERY参数,SQL语句如下:
RESTORE DATABASE PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT_Differential.bak'
WITH FILE = 1,
NOUNLOAD,
STATS = 10
GO
如果有多个差异备份文件需要还原,除了最后一个差异备份文件,其他都需要加上NORECOVERY参数
事务日志备份
- 事务日志备份
BACKUP LOG PCT TO DISK ='D:\Company\Data\SQL Server\Backup\PCT_Log.bak';
- 尾日志备份
BACKUP LOG PCT TO DISK ='D:\Company\Data\SQL Server\Backup\PCT_TailLog.bak' WITH NORECOVERY;
- 完整恢复到失败点
USE master;
BACKUP DATABASE PCT
TO DISK ='D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH INIT;
GO -- Perform a transaction log backup of the Test database
BACKUP Log PCT
TO DISK ='D:\Company\Data\SQL Server\Backup\PCT_log.bak'
WITH INIT;
GO -- ....<FAILURE OCCURS HERE>.... -- Back up the tail of the log to prepare for restore
BACKUP Log PCT
TO DISK ='D:\Company\Data\SQL Server\Backup\PCT_taillog.bak'
WITH NORECOVERY, INIT;
GO -- Restore the full backup
RESTORE DATABASE PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH NORECOVERY; -- Apply the transaction log backup
RESTORE LOG PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT_log.bak'
WITH NORECOVERY; -- Apply the tail log backup
RESTORE LOG PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT_taillog.bak'
WITH NORECOVERY; -- Recover the database
RESTORE DATABASE PCT
WITH RECOVERY;
GO
- 恢复到上次正确日志备份的时间点
-- FULL BACKUP at 2:00 AM
USE master ;
BACKUP DATABASE PCT
TO DISK = 'D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH INIT ;
GO -- LOG BACKUP 1 at 2:15 AM
USE master ;
BACKUP LOG PCT
TO DISK = 'D:\Company\Data\SQL Server\Backup\PCT_log.bak'
WITH INIT ;
GO -- LOG BACKUP 2 at 2:30 AM
USE master ;
BACKUP LOG PCT
TO DISK = 'D:\Company\Data\SQL Server\Backup\PCT_log2.bak'
WITH INIT ;
GO --有时候很遗憾,不能进行完整恢复:例如由于灾难当前事务日志不可用。这样的话,我们会需要还原数据库导最近日志备份的末尾
--如果灾难性故障发生在上午2:30,我们将需要恢复数据库到上午2:30的尾日志备份状态。
--因为不能进行尾日志备份,我们只能恢复到特定点,我们要使用STOPAT选项。 --RESTORE Full backup
RESTORE DATABASE PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT.bak'
WITH NORECOVERY; --RESTORE Log file 1
RESTORE LOG PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT_log.bak'
WITH NORECOVERY, STOPAT = 'Jan 01, 2020 12:00 AM'; --RESTORE Log file 2
RESTORE LOG PCT
FROM DISK = 'D:\Company\Data\SQL Server\Backup\PCT_Log2.bak'
WITH NORECOVERY, STOPAT = 'Jan 01, 2020 12:00 AM'; --Recover the database
RESTORE DATABASE PCT
WITH RECOVERY;
GO
SQL Server 备份还原的更多相关文章
- SQL点滴12—SQL Server备份还原数据库中的小把戏
原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, ...
- Sql Server 备份还原失败错误ERROR:3145(备份集中的数据库备份与现有的数据库不同)及解决办法
SQL Server备份文件bak,备份后还原出现错误3145,备份集中的数据库备份与现有的 'xxx' 数据库不同. 解决办法如下: 1,新建一个与现有数据库重名的数据库. 如果您不知道数据库名称, ...
- Sql server 备份还原后出现“受限制用户”问题
http://jingyan.baidu.com/article/eb9f7b6dcbf1ea869264e856.html SQL数据库作备份和还原操作几乎是日常性事务了.但某次在对Sql Serv ...
- SQL Server备份还原数据库中的小把戏
备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, but 2 media families are expected ...
- Sql server 备份还原后出现“受限制用户”问题
SQL数据库作备份和还原操作几乎是日常性事务了.但某次在对Sql Server 2005 数据库做备份还原后经常出现数据库“受限制用户”的问题 工具/原料 Windows OS SQL DB 步骤/方 ...
- sql server备份还原数据时的问题记录
1.关于“因为数据库正在使用,所以无法获得对数据库的独占访问权”的最终解决方案 关键SQL语句: ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK ...
- 【数据库】Sql Server备份还原脚本
USE master RESTORE DATABASE 新建的没有任何数据的数据库名 FROM DISK = 'e:\数据库备份文件.bak' WITH MOVE '原来的逻辑名称' TO 'e:\新 ...
- 17、SQL Server 备份和还原
SQL Server 备份 恢复模式 SQL Server 数据恢复模式分为三种:完整恢复模式.大容量日志恢复模式.简单恢复模式. 完整恢复模式 默认的恢复模式,它会完整记录下操作数据库的每一个步骤, ...
- SQL Server 备份和还原
SQL Server 备份和还原 SQL Server 备份 恢复模式 SQL Server 数据恢复模式分为三种:完整恢复模式.大容量日志恢复模式.简单恢复模式. 完整恢复模式 默认的恢复模式, ...
随机推荐
- python成长之路六-函数的初识
定义函数 我们现学已知的python函数有<内置函数> 而我们现在要学的是<自定义函数> 1,def 定义一个函数 def name(): # 后接函数名 冒号 pass 2 ...
- Codeforces976E Well played! 【贪心】
题目分析: 由于乘二的收获很大,所以我们可以证明乘的数一定是同一个,接着排序后依次选取,判断一下即可. 题目代码: #include<bits/stdc++.h> using namesp ...
- MT【24】一道五次方程的求根题
解答: 评:一般的五次及以上的多项式方程是无根式解的,只能用计算机去精确到某某位.但是特殊的比如$x^5=1$显然有根式解,本题就是一个不平凡的特殊的例子,这里的代换用于求解三次方程的求根过程是一样的 ...
- 【BZOJ4815】[CQOI2017]小Q的表格(莫比乌斯反演,分块)
[BZOJ4815][CQOI2017]小Q的表格(莫比乌斯反演,分块) 题面 BZOJ 洛谷 题解 神仙题啊. 首先\(f(a,b)=f(b,a)\)告诉我们矩阵只要算一半就好了. 接下来是\(b* ...
- 【BZOJ1821】[JSOI2010]部落划分(二分,并查集)
[BZOJ1821][JSOI2010]部落划分(二分,并查集) 题面 BZOJ 洛谷 题解 二分答案,把距离小于二分值的点全部并起来,\(\mbox{check}\)一下是否有超过\(K\)个集合就 ...
- SharePoint 2013 APP 开发示例 (四)JQuery访问REST
这个示例里,我们将用JQuery AJAX去发送一个 REST请求,并查看返回结果.为了让我们更好地理解REST 接口,我们将添加一个输入框让用户可以指定REST的URL, 这将让我们尝试着用构造的U ...
- 洛谷 P1057 传球游戏 解题报告
P1057 传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹 ...
- 逆向---01.Nop、中文字符串搜索、保存修改后程序
基础知识:(Nop:删除跳转) gcc编译链接命令: gcc -o 生成文件名 源文件名 gcc编译成汇编代码:gcc -o 生成文件名 -S 源文件名 VS查看汇编代码:(调试模式下,Ctrl+F ...
- 洛谷P3952 时间复杂度
大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. ...
- mac subLime3 JSON 格式化插件安装
1.首先找到路径:/Users/hou***in/Library/Application' 'Support/Sublime' 'Text' '3/Packages/ 2.git clone http ...