zoukankan      html  css  js  c++  java
  • sqlserver2008R2 全日志恢复 实例操作

    --创建数据库
    create database test;
    --将数据库日志备份模式设置为全日志
    ALTER DATABASE test SET RECOVERY FULL ;
    --查询、确认数据库日志备份模式
    SELECT name, recovery_model, recovery_model_desc FROM sys.databases WHERE name = 'test' ;

    ----Changing recovery model to Bulk-logged
    --ALTER DATABASE AdventureWorks SET RECOVERY BULK_LOGGED ;
    ----Changing recovery model to Simple
    --ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE ;
    go
    use [test]
    go
    --创建新表
    create table testtable (id int , name varchar(300))


    --往新表testtable里插入100条数据
    declare @i int
    set @i = 0
    while @i < 100
    begin
    insert into testtable values(@i,'test')
    set @i = @i + 1
    end

    --查看新表数据量
    select count(*) as c_rows from testtable
    -- c_rows
    -- 100


    --备份数据库
    backup database test to disk='d:/full_backup.bak' with init


    --往新表testtable里插入900条数据
    declare @j int
    set @j = 100
    while @j < 1000
    begin
    insert into testtable values(@j,'test')
    set @j = @j + 1
    end


    --出现误操作
    drop table testtable

    use master
    --备份日志文件
    BACKUP LOG test TO DISK='d:/log_for_now.logs' WITH INIT


    --使用备份的完整数据库,还原数据库
    RESTORE DATABASE test from disk='d:/full_backup.bak' WITH NORECOVERY

    --尚未备份数据库 "test" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。
    --请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。

    use test

    --根据备份的日志文件对数据对具体某时间点的数据恢复
    RESTORE LOG test
    FROM disk='d:/log_for_now.logs'
    WITH RECOVERY,STOPAT='3/14/2018 17:55'

    --查询结果,测试实际效果
    select count(*) from testtable

  • 相关阅读:
    聊下 git 使用前的一些注意事项
    .NET架构设计、框架设计系列文章总结
    聊下 git remote prune origin
    聊下git pull --rebase
    聊下git merge --squash
    git 命令使用总结
    聊下 git rebase -i
    ElasticSearch大数据分布式弹性搜索引擎使用
    DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实施方案)
    SaaS产品项目实施流程
  • 原文地址:https://www.cnblogs.com/qnbztdcq/p/8569132.html
Copyright © 2011-2022 走看看