网站大量收购闲置独家精品文档,联系QQ:2885784924

MS SQL数据库备份和恢复存储过程.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MS SQL数据库备份和恢复存储过程

MS SQL数据库备份和恢复存储过程 今天闲散没有事情,就写拉数据库备份和恢复存储过程(和大家交流一下) 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(10) out, @backup_db_name varchar(128), @filename varchar(1000) --路径+文件名字 as declare @sql nvarchar(4000),@par nvarchar(1000) 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 go 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_path nvarchar(260) /*原数据库存放路径*/ declare @flag_file bit /*文件存放标志*/ declare @master_path nvarchar(260) /*数据库master文件路径*/ declare @sql nvarchar(4000),@par nvarchar(1000) declare @sql_sub nvarchar(4000) declare @sql_cmd nvarchar(4000) /* 判断参数@filename文件格式合法性,以防止用户输入类似d: 或者 c:\a\ 等非法文件名 参数@filename里面必须有\并且不以\结尾 */ if right(@filename,1)\ and charindex(\,@filename)0 begin select @sql_cmd=dir +@filename EXEC @proc_result = master..xp_cmdshell @sql_cmd,no_output IF (@proc_result0) /*系统存储过程xp_cmdshell返回代码值:0(成功)或1(失败)*/ begin select @flag=not exist /*备份文件不存在*/ return /*退出过程*/ e

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档