dba 数据备份还原

来源:互联网 发布:上海房地产交易数据 编辑:程序博客网 时间:2024/04/29 10:26

 1  保存数据备份还原   

 

restore database 数据库名称  from  备份设备  | disc='备份地址'  with  recovery /

 

restore  database earthome  from bk  with norecover ,file=1;

restore  log  earthome  from bk  with norecover ,file=1,file=编号,stop at='2013-4-1''    move  ‘hr’  to  'c:\hr.mdf'

 

 

 norecovery 保留半个事务,还有后续还原,数据库进入正在还原状态。这个时候数据库中的数据不可以被访问。

recovery 不保留半个事务,没有后续还有,数据库进入正常状态 。 这个时候数据可以被访问

 

 

2 如果数据出现 误操作  该怎么处理 恢复

              1  马上进行日志备份

             2 备份还原出多个 stopat 的时间点  ,这样得到多个数据版本

            3 看哪个数据版本最接近误操作前数据状态

 

3 sql 自动化  【图形操作界面】

 

         1      sql代理服务器  启动

                        sql--》配置工具--》sql server 配置管理工具--》启动sql服务代

 

         2  新建操作员

               填写 操作员邮件 信息这一栏

          3 作业   back  system

 

             命令 back up

             计划 建议每天做一次完整备份

            通知 电子邮件  李四  当作业完成时 给李四发送电子邮件

 

         4 作业开始

 

 

4  自动话的主要任务 4个

           1 系统 数据库完全备份(建议每天一次)

 

          2 用户数据库备份 (500g 以内每天一次完全备份+压缩)

 

        3 用户日志备份

 

        4 删除多久前的备份文件

           

                   操作方式:

                           打开 sql 登录  之后

                        1:  管理---》管理 中维护计划---》新建维护计划--

 

                        4: 新建维护计划--》文件夹-

                                                      清除维护任务 右键 编辑 选择文件夹并且勾选包括一级文件夹   时间属性:是清除多长时间之前的数据

 

 

 

 

 

5: 系统数据库的作用

  

                1 master  : 存储login    存储sql中的配置 (补丁,,sqlserver服务加载项)

 

              2  msdb: 存储自动化任务

              3 temp:存储临时数据

              4:model  模板

 

6:报表 

                用 vs 制作报表

 

 

学习了 王晓哲老师~ 不错 一原来老师这么犀利哦


自己实践了一个备份还原案例:sql代码如下:

backup database test
to disk='d:\dxm\test.bak'


--drop table
drop table  dbo.[user]


-- backup log
backup log test
to disk='d:\dxm\test_log.bak'

-- restore
use master
restore database test from  disk='d:\dxm\test.bak'
with replace,norecovery
restore log test from disk='d:\dxm\test_log.bak'
with recovery,stopat='2013-4-19 9:30'

 

--创建数据库
create  database  Test

--将数据库的恢复模式设置为full
alter database Test set RECOVERY FULL

USE  Test

create table tb(id int,col nvarchar(30))

---完全备份数据库

backup  database Test TO disk='D:\database\Test.bak'  with format

--对一次对表插入数据

insert into  tb (id,col) values(1,'第一次差异备份')

--对一次差异备份

backup database Test to disk='d:\database\Test_one_dif.bak' with format,differential

--对二次对表插入数据

insert into  tb (id,col) values(2,'第二次差异备份')

--对二次差异备份

backup database Test to disk='d:\database\Test_two_dif.bak' with format,differential


select * from tb
---完整备份还原

restore database Test from disk='d:\database\Test.bak' with replace,norecovery

--第二次差异备份还原
restore database Test from disk='d:\database\Test_two_dif.bak' with recovery

use Test
select * from tb

 

 



当一个数据库备份文件,,被一个数据库对应的用到的时候。【查看数据库的属性---文件:路径可以看到数据库文件的路径】,这中数据库文件不能被复制。

 

首先   进行了完全备份,,之后过段时间数据有误,,,立马进行日志备份。然后恢复完全备份和日志备份 。用日志恢复到出错前的时间段。

        

         进行了完全备份,每个操作之后进行差异备份,之后过段时间数据有误,。 每个操作之后进行差异备份。然后恢复完全备份,差异备份。 用到差异备份文件是 数据出  错 之前的差异备份的

        

          差异备份 备份的是差异的部分。日志备份备份的是所有操作记录

      

 





 

 

 

原创粉丝点击