用户操作
[即时聊天] [发私信] [加为好友]
林大海ID:lhsxsh
2486次访问,排名2万外好友5人,关注者14
aaaaaaaaaaaaaaa
lhsxsh的文章
原创 27 篇
翻译 0 篇
转载 5 篇
评论 0 篇
最近评论
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 通过日志恢复数据库收藏

    新一篇: 提取汉字方法 | 旧一篇: sqlserveragent

    --通过日志恢复数据库

    USE master

    --创建数据库
    CREATE DATABASE db
    ON PRIMARY(='db_data',
        FILENAME
    = 'c:\db_data.mdf')
    LOG ON(
        NAME
    ='db_log', FILENAME ='c:\db.ldf')
    GO

    --创建表
    CREATE TABLE db.dbo.ta(id int)
    INSERT db.dbo.ta SELECT id FROM sysobjects
    GO
    --做文件组备份
    BACKUP DATABASE db TO DISK='c:\db.bak' WITH FORMAT

    --备份后,再做数据处理
    CREATE TABLE db.dbo.tb(id int)
    INSERT db.dbo.tb SELECT id FROM sysobjects
    GO

    /*--下面演示了破坏数据文件的处理,这些操作在操作系统中进行

    1. 停止SQL Server服务(msqlserver服务)
    2. 删除文件 c:\db_data.ndf (模拟破坏)
    3. 重新SQL Server服务,此时数据库DB置疑
    --
    */
    GO

    --下面演示了如何恢复数据
    --
    首先要备份当前日志
    BACKUP LOG db TO DISK='c:\db_log.bak' WITH FORMAT,NO_TRUNCATE
    --利用文件组备份恢复破坏的文件
    RESTORE DATABASE db FROM DISK='c:\db.bak' WITH NORECOVERY
    --还原到日志点
    RESTORE LOG db FROM DISK='c:\db_log.bak' WITH RECOVERY
    --显示已经恢复的数据
    SELECT COUNT(*) FROM db.dbo.ta
    SELECT COUNT(*) FROM db.dbo.tb
    GO

    --删除测试
    DROP DATABASE db

    NAME

    这是我 转贴的代码自己还没试过

    发表于 @ 2008年03月15日 08:20:00|评论(loading...)|编辑

    新一篇: 提取汉字方法 | 旧一篇: sqlserveragent

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 林大海