可使用脚本附加
--2008恢复2000的数据库
--运行以下脚本
RESTORE DATABASE TYWZ -- xxxx-改为你自己的数据名称
FROM DISK = 'C:\TYWZ.bak' --bak文件路径 xxxx-改为你自己的数据名称
with replace,
MOVE 'TYWZ' TO 'C:\tywz\TYWZ.mdf', --mdf文件路径--xxxx-改为你自己的数据名称
MOVE 'TYWZ_log' TO 'C:\tywz\TYWZ_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称
--提示找不到,原因是逻辑名不是脚本中的
--运行以下脚本,取得逻辑名
RESTORE FILELISTONLY
FROM DISK = 'C:\TYWZ.bak'
--取得逻辑名显示为:
--TYWZGL_Data
--TYWZGL_Log
--运行以下脚本即可
--解决因为数据库正在使用,所以无法获得对数据库的独占访问权。
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)
--修复
RESTORE DATABASE TYWZ -- xxxx-改为你自己的数据名称
FROM DISK = 'C:\TYWZ.bak' --bak文件路径 xxxx-改为你自己的数据名称
with replace,
MOVE 'TYWZGL_Data' TO 'C:\tywz\TYWZ.mdf', --mdf文件路径--xxxx-改为你自己的数据名称
MOVE 'TYWZGL_Log' TO 'C:\tywz\TYWZ_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称