zoukankan      html  css  js  c++  java
  • 数据库备份和恢复速记!

    数据库备份和恢复速记!

    所谓的速记,就是追求速度,概要的记录下来一些事情。
    一、备份设备

    1.1 添加设备

    EXEC sp_addumpdevice 'disk', 'test01','f:\bak\1.bak'
    go

    EXEC sp_addumpdevice 'disk', 'log02','f:\bak\log2.bak'
    go


    1.2 删除设备

    保存相关文件:
    Exec sp_dropdevice 'test02'

    删除相关设备文件:
    Exec sp_dropdevice 'test02','delfile'

    二、备份

    2.1 备份数据库

    Backup database test01 TO test01
    go

    2.2 备份日志

    BACKUP LOG test01 TO log02
    go

    2.3 多设备备份
    Backup database test01 TO test01
    go
    Backup database test01 TO test02
    go


    三、恢复

    3.1 恢复数据库
    restore database test01 from test01
    go

    3.2 恢复日志
    restore LOG test01 from log02 WITH NORECOVERY
    go

    四、排除疑难

    4.1 打开的数据库进程,不能独占访问

    ▲方案一:
    关闭,然后重启服务器。
    ▲方案二:
    删除,数据库然后重建 。
    ▲方案三:
    分离,然后重新载入。


    ◆◆推荐方案:
    关闭连接到这个数据库的进程。
    这是个存储过程。

    (转自于http://www.yule4.com/?p=267)
    ---------------    ≯  存储过程开始  ≮  ---------------


    use master
    go

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[p_killspid]
    GO

    create proc p_killspid
    @dbname sysname ----要关闭进程的数据库名
    as 
    declare @s nvarchar(1000)
    declare tb cursor local for
    select s='kill '+cast(spid as varchar)
    from master..sysprocesses
    where dbid=db_id(@dbname)

    open tb
    fetch next from tb into @s
    while @@fetch_status=0
    begin
    exec(@s)
    fetch next from tb into @s
    end
    close tb
    deallocate tb
    go

    --用法 
    exec p_killspid  'test01'

    ---------------    ≯  存储过程结束  ≮  ---------------

    4.2 日志
    日志这里有很多的问题,暂进还没有得到解决。

    比如说:

    服务器: 消息 4306,级别 16,状态 1,行 1
    先前的还原操作未指定 WITH NORECOVERY 或 WITH STANDBY。请在除最后步骤之外的所有其它步骤中指定 WITH NORECOVERY 或 WITH STANDBY 后,重新启动该还原序列。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE LOG 操作异常终止。

  • 相关阅读:
    颠覆C#王权的“魔比斯环” — 实现AOP框架的终极利器
    使用.Net的CodeDOM技术实现语言无关的Code Wizard
    拆半查找的递归和非递归算法
    使用wxWidgets for C++从资源文件中静态装载图像
    全排列算法原理和实现
    得到第K个大的数算法研究
    用C#2.0实现网络蜘蛛(WebSpider)
    Php实现Js的escape方法
    google map 获取 地理定位
    将sqlserver表中的数据导出sql语句(转)
  • 原文地址:https://www.cnblogs.com/xpnew/p/1404767.html
Copyright © 2011-2022 走看看