sqlserver脚本备份固定多个数据库

sqlserver脚本备份固定多个数据库,第1张

1.用SqlServer的维护计划

在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个‘备份数据库'任务和一个‘清除维护'任务。

需要注意的点:

1)有备份任务里边选择备份的库尽量选‘所有用户数据库'这项,以免选择了特定数据库备份以后某天添加了新数据库却忘了勾选导致丢备份。

2)选项验证备份集完整性和压缩备份尽量都选上。

3)备份的路径尽量别选磁盘根目录。

2.通过脚本+作业的方式备份数据库(非xp_cmdshell)。如果是多个库的话自己写个游标用动态sql的方式即可实现多库备份,我这里就提供个思路偷懒就不整理了。

复制代码 代码如下:

DECLARE @filename VARCHAR(500)

DECLARE @date DATETIME

DECLARE @OLD_DATE DATETIME

SET @date=GETDATE()

SET @OLD_DATE=GETDATE()-5 --超过5天的备份即将被删除

SET @FILENAME = 'E:\存放位置\数据库名称-'+CAST(DATEPART(YYYY,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(MM,@DATE) AS VARCHAR(10))+'-'+CAST(DATEPART(DD,@DATE) AS VARCHAR(10))+'.BAK'

BACKUP DATABASE [数据库名称] TO DISK = @filename WITH COMPRESSION

EXECUTE master.dbo.xp_delete_file 0,N'E:\存放位置',N'bak',@OLD_DATE,1

GO

3.通过脚本+作业的方式备份数据库(用xp_cmdshell),如果你觉得你们服务器的网络、代码、以及防火墙足够安全可以开启xp_cmdshell的方式来备份。

如果数据库没开启xp_cmdshell的功能需要用以下脚本开通此功能,开通以后记得关闭sp_configure。

复制代码 代码如下:

USE Master

GO

EXEC sp_configure 'show advanced options', 1

一、编写备份脚本

二、更改备份脚本权限

chmod u+x /usr/local/tools/mysql_dy_backup.sh

三、设置定时执行脚本任务

crontab -e

30 22 * * * /usr/local/tools/mysql_dy_backup.sh


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6659586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存