if exists(select name from sysobjects where name='usp_restoredb')
drop proc usp_restoredb
go
/*
exec usp_restoredb "library","D:\dbbak.bak"
*/
create proc usp_restoredb
(
@dbname varchar(255), --数据库名字
@filepath varchar(255) --文件路径
)
as
set nocount on
--exec ('use master go')
exec ('alter database '+@dbname+' set offline WITH ROLLBACK IMMEDIATE')
exec ('restore database '+@dbname+' from disk=" '+@filepath+'" with REPLACE')
exec ('alter database '+@dbname+' set online with rollback IMMEDIATE')
if @@error<>0
begin
select 'F','数据库恢复失败'
return
end
else
begin
select 'T','数据库恢复成功'
return
end
drop proc usp_restoredb
go
/*
exec usp_restoredb "library","D:\dbbak.bak"
*/
create proc usp_restoredb
(
@dbname varchar(255), --数据库名字
@filepath varchar(255) --文件路径
)
as
set nocount on
--exec ('use master go')
exec ('alter database '+@dbname+' set offline WITH ROLLBACK IMMEDIATE')
exec ('restore database '+@dbname+' from disk=" '+@filepath+'" with REPLACE')
exec ('alter database '+@dbname+' set online with rollback IMMEDIATE')
if @@error<>0
begin
select 'F','数据库恢复失败'
return
end
else
begin
select 'T','数据库恢复成功'
return
end