sql2005备份在sql2000中恢复
Http://www.Egocbd.com 点击数: 更新时间:2010-2-3 10:44:28
bsp; --是否关闭用户使用进程,仅@overexist=1时有效
as
declare @sql varchar(8000)
--得到恢复后的数据库名
if isnull(@dbname, )=
select @sql=reverse(@bkfile)
,@sql=case when charindex( . ,@sql)=0 then @sql
else substring(@sql,charindex( . ,@sql)+1,1000) end
,@sql=case when charindex( ,@sql)=0 then @sql
else left(@sql,charindex( ,@sql)-1) end
,@dbname=reverse(@sql)
--得到恢复后的数据库存放目录
if isnull(@dbpath, )= set @dbpath=dbo.f_getdbpath( )
--生成数据库恢复语句
set @sql= restore +case @retype when LOG then log else database end+@dbname
+ from disk= +@bkfile+
+ with file= +cast(@filenumber as varchar)
+case when @overexist=1 and @retype in( DB , DBNOR ) then ,replace else end
+case @retype when DBNOR then ,NORECOVERY else ,RECOVERY end
print @sql
--添加移动逻辑文件的处理
if
as
declare @sql varchar(8000)
--得到恢复后的数据库名
if isnull(@dbname, )=
select @sql=reverse(@bkfile)
,@sql=case when charindex( . ,@sql)=0 then @sql
else substring(@sql,charindex( . ,@sql)+1,1000) end
,@sql=case when charindex( ,@sql)=0 then @sql
else left(@sql,charindex( ,@sql)-1) end
,@dbname=reverse(@sql)
--得到恢复后的数据库存放目录
if isnull(@dbpath, )= set @dbpath=dbo.f_getdbpath( )
--生成数据库恢复语句
set @sql= restore +case @retype when LOG then log else database end+@dbname
+ from disk= +@bkfile+
+ with file= +cast(@filenumber as varchar)
+case when @overexist=1 and @retype in( DB , DBNOR ) then ,replace else end
+case @retype when DBNOR then ,NORECOVERY else ,RECOVERY end
print @sql
--添加移动逻辑文件的处理
if