博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习笔记-备份还原
阅读量:6889 次
发布时间:2019-06-27

本文共 2419 字,大约阅读时间需要 8 分钟。

一、备份还原的概念

1、  完整备份:完整备份因为需要备份的数据量大,所以需要在空闲时间进行,并且定期进行。

2、  日志备份:日志备份的数据量小,备份时间为上一次备份到本次本分期间的数据,每天都可以进行备份,或者每小时都可以进行备份,据所需备份。

3、  差异备份:只备份修改过的数据,与每小时进行的日志备份配合使用,效率更高。

 

二、备份设备

1、  在进行备份数据的保存时,需要输入的文件路径很长,并且每次都要输入,难免麻烦费事,所以我们先给文件路径取好别名,即备份设备,以便之后书写代码的方便。

2、 创建备份设备

IF EXISTS        (SELECT 1 FROM sys.backup_devices AS BD WHERE BD.name = 'dp_EduBase_FullBackup')    EXEC sp_dropdevice 'dp_EduBase_FullBackup';EXEC sp_addumpdevice 'DISK','dp_EduBase_FullBackup','C:\EduBase\Backup\Full\dp_EduBase_FullBackup.bak';    IF EXISTS        (SELECT 1 FROM sys.backup_devices AS BD WHERE BD.name = 'dp_EduBase_DiffBackup')    EXEC sp_dropdevice 'dp_EduBase_DiffBackup';EXEC sp_addumpdevice 'DISK','dp_EduBase_DiffBackup','C:\EduBase\Backup\Diff\dp_EduBase_DiffBackup.bak';    IF EXISTS        (SELECT 1 FROM sys.backup_devices AS BD WHERE BD.name = 'dp_EduBase_LogBackup')    EXEC sp_dropdevice 'dp_EduBase_LogBackup';EXEC sp_addumpdevice 'DISK','dp_EduBase_LogBackup','C:\EduBase\Backup\Log\dp_EduBase_LogBackup.bak';

 

1、  做完整备份

USE EduBase;        DECLARE @FullBkDesc VARCHAR(MAX);        //申明备份设备SELECT            @FullBkDesc = 'Weekly full backup for '+DB_NAME()+' at '+DATENAME(YEAR,GETDATE())+',week '+DATENAME(WEEK,GETDATE())+'.('+CONVERT(VARCHAR,GETDATE(),120)+')';    BACKUP DATABASE EduBase            TO dp_EduBase_FullBackup        WITH             INIT //INIT操作可以初始化文件,即可以覆盖掉之前的备份,保留本次操作过后的备份        ,Name = 'EduBase_FullBackup'        ,DESCRIPTION = @FullBkDesc;

2、 做日志备份

DECLARE @LogBkDesc VARCHAR(MAX);        SELECT            @LogBkDesc = 'Hourly log backup for '+DB_NAME()+' at '+DATENAME(YEAR,GETDATE())+',week '+DATENAME(WEEK,GETDATE())+',day '+CONVERT(VARCHAR,DATEPART(W,GETDATE())-1)+',hour '+CONVERT(VARCHAR,DATEPART(HOUR,GETDATE()))+'.('+CONVERT(VARCHAR,GETDATE(),120)+')';    BACKUP LOG EduBase            TO dp_EduBase_LogBackup        WITH            INIT        ,Name = 'EduBase_LogBackup'         ,DESCRIPTION = @LogBkDesc;

3、做差异备份

DECLARE @DiffBkDesc VARCHAR(MAX);        SELECT            @DiffBkDesc = 'Daily Differential backup for '+DB_NAME()+' at '+DATENAME(YEAR,GETDATE())+',week '+DATENAME(WEEK,GETDATE())+',day '+CONVERT(VARCHAR,DATEPART(W,GETDATE())-1)+'.('+CONVERT(VARCHAR,GETDATE(),120)+')';    BACKUP DATABASE EduBase            TO dp_EduBase_DiffBackup        WITH             DIFFERENTIAL         ,INIT        ,Name = 'EduBase_DiffBackup'

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/caiduncheng/p/8120262.html

你可能感兴趣的文章
[New Portal]Windows Azure Virtual Machine (3) 在VM上挂载磁盘
查看>>
字体随着ProgressBar的加载而滚动
查看>>
Handler 机制再了解
查看>>
如果你是前端工程师,把你的网站或者你知道的网站加进来吧
查看>>
阿里云产品头条(2017年12月刊)
查看>>
探究SQL添加非聚集索引,性能提高几十倍之谜
查看>>
Java 如何不使用 volatile 和锁实现共享变量的同步操作
查看>>
关于ip_conntrack跟踪连接满导致网络丢包问题的分析
查看>>
烂泥:linux学习之VNC远程控制(一)
查看>>
如何解决Xshell使用时中文字体是躺倒显示的问题
查看>>
Scala函数的定义的几种写法
查看>>
【iphone应用开发】iphone 应用开发之二:UITextView控件的详细讲解
查看>>
HTML5 API摘要
查看>>
去除滚动条的可滚动效果
查看>>
注入攻击 初见解
查看>>
JProfiler_SN_8_x.txt
查看>>
IntelliJ IDEA 社区版没有 Spring Initializr
查看>>
inux多线程顺序控制的示例
查看>>
2. ASIHttpRequest-发送数据
查看>>
[应用模板]移动应用界面
查看>>