mssql export db

--不使用原来的日志
1.新建同名新库test
2.断开连接,停止mssql服务NET STOP MSSQLSERVER,移走新生成日志文件,用原mdf替换新mdf,启动数据库服务,test处于置疑状态
3.设置数据库允许直接操作系统表
        use master
        go
        sp_configure 'allow updates',1
        go
        reconfigure with override
        go
4.设置test为紧急修复模式
   update sysdatabases set status=-32768 where name='test'
5.下面执行真正的恢复操作,重建数据库日志文件
   dbcc rebuild_log('test','C:\test_log.ldf')
6.验证数据库一致性(可省略)
    dbcc checkdb('test')
7.设置数据库为正常状态
    sp_dboption 'test','dbo use only','false'
8.允许对系统目录直接修改复原
    use master
    sp_configure 'allow updates',0
    go
    reconfigure with override
    go
----------------------mssql2008-------------------------------
1.新建同名新库test
2.sp_detach_db @dbname='test'   --分离新库
3.sp_attatch_single_file_db @dbname='test',@physname='C:\DB\test.mdf' -- 用原mdf替换新mdf并附加并移除ldf

-- sp_attach_db @dbname='test',@filename1='C:\DB\test.mdf',@filename2='C:\DB\test_log.LDF' 

USE master;
GO
EXEC sp_detach_db @dbname = 'test';
EXEC sp_attach_single_file_db @dbname = 'test', @physname = N'C:\test.mdf';

posted @ 2012-12-06 09:29  WenEric  阅读(326)  评论(0编辑  收藏  举报