- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MS SQL数据库备份和恢复存储过程
MS SQL数据库备份和恢复存储过程
今天闲散没有事情,就写拉数据库备份和恢复存储过程(和大家交流一下) if exists(select * from sysobjectswhere name=pr_backup_db and xtype=p)begindrop proc pr_backup_dbendgo/*备份数据库*/create proc pr_backup_db@flag varchar(10) out,@backup_db_name varchar(128),@filename varchar(1000) --路径+文件名字asdeclare @sql nvarchar(4000),@par nvarchar(1000)select @par=@filename varchar(1000)select @sql=BACKUP DATABASE +@backup_db_name+ to disk=@filename with initexecute sp_executesql @sql,@par,@filenameselect @flag=okgoif exists(select * from sysobjectswhere name=fn_GetFilePath and xtype=fn)begindrop function fn_GetFilePathendgo/*创建函数,得到文件得路径*/create function fn_GetFilePath(@filename nvarchar(260))returns nvarchar(260) asbegindeclare @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_pathendgoif exists(select * from sysobjectswhere name=pr_restore_db and xtype=p)begindrop proc pr_restore_dbendgocreate proc pr_restore_db /*恢复数据库*/@flag varchar(20) out, /*过程运行的状态标志,是输入参数*/ @restore_db_name nvarchar(128), /*要恢复的数据名字*/@filename nvarchar(260) /*备份文件存放的路径+备份文件名字*/asdeclare @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)0begin select @sql_cmd=dir +@filenameEXEC @proc_result = master..xp_cmdshell @sql_cmd,no_outputIF (@proc_result0) /*系统存储过程xp_cmdshell返回代码值:0(成功)或1(失败)*/beginselect @flag=not exist /*备份文件不存在*/return /*退出过程*/e
文档评论(0)