博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库备份存储过程
阅读量:5010 次
发布时间:2019-06-12

本文共 1850 字,大约阅读时间需要 6 分钟。

USE [wechat]GO/****** Object:  StoredProcedure [dbo].[p_backupdb]    Script Date: 2017/11/22 11:38:23 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROC [dbo].[p_backupdb]@dbname sysname='',            --要备份的数据库名称,不指定则备份当前数据库@bkpath NVARCHAR(260)='',    --备份文件的存放目录,不指定则使用SQL默认的备份目录@bkfname NVARCHAR(260)='',    --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间@bktype NVARCHAR(10)='DB',    --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份@appendfile BIT=1,            --追加/覆盖备份文件@password NVARCHAR(20)=''    --为备份文件设置的密码(仅sql2000支持),设置后,恢复时必须提供此密码AS    DECLARE @sql VARCHAR(8000)    IF ISNULL(@dbname,'')='' SET @dbname=DB_NAME()    IF ISNULL(@bkpath,'')=''    BEGIN        SELECT @bkpath=RTRIM(REVERSE(filename)) FROM master..sysfiles WHERE name='master'        SELECT @bkpath=SUBSTRING(@bkpath,CHARINDEX('\',@bkpath)+1,4000)            ,@bkpath=REVERSE(SUBSTRING(@bkpath,CHARINDEX('\',@bkpath),4000))+'BACKUP\'    END    IF ISNULL(@bkfname,'')='' SET @bkfname='\DBNAME\_\DATE\_\TIME\.BAK'    SET @bkfname=REPLACE(REPLACE(REPLACE(@bkfname,'\DBNAME\',@dbname)        ,'\DATE\',CONVERT(VARCHAR,GETDATE(),112))        ,'\TIME\',REPLACE(CONVERT(VARCHAR,GETDATE(),108),':',''))    SET @sql='backup '+CASE @bktype WHEN 'LOG' THEN 'log ' ELSE 'database ' END +@dbname        +' to disk='''+@bkpath+@bkfname        +''' with '+CASE @bktype WHEN 'DF' THEN 'DIFFERENTIAL,' ELSE '' END        +CASE @appendfile WHEN 1 THEN 'NOINIT' ELSE 'INIT' END        +CASE ISNULL(@password,'') WHEN '' THEN '' ELSE ',PASSWORD='''+@password+'''' END    EXEC(@sql)GO

调用存储过程方式:

--备份当前数据库exec p_backupdb @bkpath='c:\',@bkfname='\DBNAME\_\DATE\_db.bak' --差异备份当前数据库exec p_backupdb @bkpath='c:\',@bkfname='db_\DATE\_df.bak',@bktype='DF' --备份当前数据库日志exec p_backupdb @bkpath='c:\',@bkfname='db_\DATE\_log.bak',@bktype='LOG'

 

转载于:https://www.cnblogs.com/xuxing2016/p/7878432.html

你可能感兴趣的文章
LeetCode:3Sum
查看>>
[转]申瓯 JSY2000-06 程控电话交换机呼叫转移设置
查看>>
Javascript----input事件实现动态监听textarea内容变化
查看>>
【语言处理与Python】1.1文本和单词
查看>>
字符串尾号数字自增长
查看>>
ASP.NET Core中使用xUnit进行单元测试
查看>>
在桌面添加快捷方式
查看>>
字符串反转
查看>>
DirectX9 里HLSL的语义Semantics
查看>>
linux shell 发送email 附件
查看>>
人群密度估计 CrowdCount
查看>>
京东为什么不会死
查看>>
JSON.parse()和JSON.stringify()
查看>>
清北学堂 day6 兔子
查看>>
Enabling button in SubGrid on selection of record (SelectionCountRule) in CRM 2011(abstract)
查看>>
.net 常用正则表达式
查看>>
JAVA动态代理机制解析
查看>>
浏览器样式(css)兼容
查看>>
Java泛型中的标记符含义:
查看>>
初遇GitHub
查看>>