/*******************************************
* 批量备份数据库且删除3天前的备份
*******************************************/
DECLARE @backupfile VARCHAR(1024)
DECLARE @backdesc VARCHAR(1024)
DECLARE @filename VARCHAR(1024)
DECLARE @path VARCHAR(1024)
DECLARE @dbname VARCHAR(1024)
DECLARE @extension_name VARCHAR(16)
--备份参数
DECLARE tmp_Cur CURSOR
FOR
SELECT NAME
FROM [sys].[databases]
WHERE NAME NOT IN ( 'master', 'model','msdb','tempdb' )
SET @path = N'D:\Backup\Autoback\';
SET @extension_name = N'bak';
--生成文件名
SET @filename = CONVERT(VARCHAR(1024), GETDATE(), 120)
SET @filename = REPLACE(@filename, ':', '')
SET @filename = REPLACE(@filename, '-', '')
SET @filename = REPLACE(@filename, ' ', '')
SET @filename = @filen
SqlServer批量备份多个数据库且删除3天前的备份
最新推荐文章于 2024-04-26 11:11:22 发布
该脚本用于在SQLServer中批量备份所有非系统数据库,并在备份完成后删除3天前的旧备份。它使用游标遍历数据库,生成包含当前日期的备份文件名,然后执行备份操作。此外,脚本还包含了清理过期备份和数据库收缩的逻辑,以优化磁盘空间。
摘要由CSDN通过智能技术生成