可使用腳本附加
--2008恢復(fù)2000的數(shù)據(jù)庫
--運(yùn)行以下腳本
RESTORE DATABASE TYWZ? ? ?-- xxxx-改為你自己的數(shù)據(jù)名稱
FROM DISK = 'C:\TYWZ.bak'? ?--bak文件路徑 xxxx-改為你自己的數(shù)據(jù)名稱
with replace,
MOVE 'TYWZ' TO 'C:\tywz\TYWZ.mdf',? ?--mdf文件路徑--xxxx-改為你自己的數(shù)據(jù)名稱
MOVE 'TYWZ_log' TO 'C:\tywz\TYWZ_log.ldf'? ?--ldf文件路徑xxxx-改為你自己的數(shù)據(jù)名稱
--提示找不到,原因是邏輯名不是腳本中的
--運(yùn)行以下腳本,取得邏輯名
RESTORE FILELISTONLY?
FROM DISK = 'C:\TYWZ.bak'
--取得邏輯名顯示為:
--TYWZGL_Data
--TYWZGL_Log
--運(yùn)行以下腳本即可
--解決因?yàn)閿?shù)據(jù)庫正在使用,所以無法獲得對(duì)數(shù)據(jù)庫的獨(dú)占訪問權(quán)。
USE master
go
DECLARE @Sql NVARCHAR(max)
SET @Sql=''
select @Sql=@Sql+'kill '+cast(spid as varchar(50))+';' from sys.sysprocesses where dbid=DB_ID('TYWZ')
EXEC(@Sql)
--修復(fù)
RESTORE DATABASE TYWZ? ? ?-- xxxx-改為你自己的數(shù)據(jù)名稱
FROM DISK = 'C:\TYWZ.bak'? ?--bak文件路徑 xxxx-改為你自己的數(shù)據(jù)名稱
with replace,
MOVE 'TYWZGL_Data' TO 'C:\tywz\TYWZ.mdf',? ?--mdf文件路徑--xxxx-改為你自己的數(shù)據(jù)名稱
MOVE 'TYWZGL_Log' TO 'C:\tywz\TYWZ_log.ldf'? ?--ldf文件路徑xxxx-改為你自己的數(shù)據(jù)名稱