附加数据库总结

--SQL Server 2000附加数据库--
/*
SQL Server 2000附加数据库时,由于只有mdf文件,而无ldf文件时;从而在附加时出现不少错误,一时难以解决
将需要在8.0的实例中执行下列操作,实现数据库的附加。
通常附加时出现的错误是由于数据库在不同的实例之间,以及不同版本实例之间转移而造成的。
*/

--1、新建一个同名的数据库,路径也要一致
CREATE DATABASE [SD201N_018]
     ON (NAME=SD201N_018,     FILENAME = N'D:\Program Files\SuperData\Data\SD201N_018.mdf' )
 LOG ON (NAME=SD201N_018_Log, FILENAME = N'D:\Program Files\SuperData\Data\SD201N_018_log.ldf')

--2、停止SQL SERVER实例

--3、将备份的数据库MDF文件覆盖新建的同名数据库文件,并删除ldf文件

--4、启动SQL SERVER实例 (SD201N_018将变为不可用)

--open 'allow'
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

--update sys table and set the database status
update sysdatabases  set status=32768 where name='SD201N_018'

--rebuild the database log 
dbcc rebuild_log('SD201N_018','D:\Program Files\SuperData\Data\SD201N_018_log.ldf')

--change the database status 
update  sysdatabases  set status=0  where  name='SD201N_018'

--change the 'allow' value
sp_configure 'allow',0  
reconfigure   with   override

--check the database  
dbcc checkdb('SD201N_018')

  
select * from sysdatabases

--执行上述步骤后,数据库即可打开


--另:
--SQL Server 2005的一般步骤

--a)新建一个同名的数据库,路径一致
CREATE DATABASE [SD201N_018]
     ON (NAME=SD201N_018,     FILENAME = N'D:\Program Files\SuperData\Data\SD201N_018.mdf' )
 LOG ON (NAME=SD201N_018_Log, FILENAME = N'D:\Program Files\SuperData\Data\SD201N_018_log.ldf')
 
--b)         停止SqlServer
--
--c)         将备份的数据库覆盖D:\Program Files\SuperData\Data\SD201N_018.mdf
--d)         启动SqlServer,(SD201N_018将变为不可用)
--查看数据库状态
SELECT * FROM SYS.DATABASES
SELECT * FROM sys.database_recovery_status
 
--e)         将数据库改为紧急恢复模式
ALTER DATABASE SD201N_018 SET EMERGENCY

--f)   修复数据库
DBCC CheckDB ('SD201N_018')

--g)         将数据库改为但用户模式
ALTER   DATABASE   SD201N_018   SET   SINGLE_USER

--h)         再带参数修复数据库
DBCC CheckDB

--i)           将数据库改为正常模式
ALTER   DATABASE  SD201N_018  SET   ONLINE

注:附加2000数据库时一般情况下都需要在8.0版本实例下进行,当附加到2005上去时就会出现错误。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9932141/viewspace-464488/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9932141/viewspace-464488/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值