SQL SERVER2000备份和恢复存储过程
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-02-16
/*备份数据库的过程*/ if exists( select * from sysobjects where name=’pr_backup_db’ and xtype=’p’ ) begin drop proc pr_backup_db end go create proc pr_backup_db @flag varchar(20) out, @backup_db_name varchar(128), @filename varchar(1000) --路径+文件名字 as declare @sql nvarchar(4000),@par nvarchar(1000) if not exists( select * from master..sysdatabases where name=@backup_db_name ) begin select @flag=’db not exist’ /*数据库不存在*/ return end else begin if right(@filename,1)<>’\’ and charindex(’\’,@filename)<>0 begin select @par=’@filename varchar(1000)’ select @sql=’BACKUP DATABASE ’+@backup_db_name+’ to disk=@filename with init’ execute sp_executesql @sql,@par,@filename select @flag=’ok’ return end else begin select @flag=’file type error’ /*参数@filename输入格式错误*/ return end end GO 说明:pr_backup_db过程是备份你的数据库 /*创建函数,得到文件得路径*/ if exists( select * from sysobjects where name=’fn_GetFilePath’ and xtype=’fn’ ) begin drop function fn_GetFilePath end go create function fn_GetFilePath(@filename nvarchar(260)) returns nvarchar(260) as begin declare @file_path nvarchar(260) declare @filename_reverse nvarchar(260) select @filename_reverse=reverse(@filename) select @file_path=substring(@filename,1,len(@filename)+1-charindex(’\’,@filename_reverse)) return @file_path end GO /*恢复数据库的过程*/ if exists( select * from sysobjects where name=’pr_restore_db’ and xtype=’p’ ) begin drop proc pr_restore_db end go CREATE proc pr_restore_db @flag varchar(20) out, /*过程运行的状态标志,是输入参数*/ @restore_db_name nvarchar(128), /*要恢复的数据名字*/ @filename nvarchar(260) /*备份文件存放的路径+备份文件名字*/ as declare @proc_result tinyint /*返回系统存储过程xp_cmdshell运行结果*/ declare @loop_time smallint /*循环次数*/ declare @max_ids smallint /*@tem表的ids列最大数*/ declare @file_bak_ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 在SQL Server存储过程中执行DTS包下一篇: SQL Server中处理死锁
关于SQL SERVER2000备份和恢复存储过程的所有评论