SQL数据库自动备份作业脚本

– 创建文件名
declare @filename varchar(1024)
declare @path varchar(1024)
declare @dbName nvarchar(50)

set @dbName=’UniDataPark’;
set @path = N’D:\GHY\BackUp\’;

declare @extension_name varchar(16)

set @filename = convert(varchar(1024), getdate(), 23)
set @filename = replace(@filename, ‘:’, ”)
set @filename = replace(@filename, ‘-‘, ”)
set @filename = replace(@filename, ’ ‘, ”)
set @filename =@dbName + N’_’ + @filename + N’.bak’
–set @filename = @filename + ‘_’ + convert (varchar(3), datepart(ms, getdate())) + N’.’ + @extension_name
– 得到完整目标文件,数据库将备份到这个中
set @filename = @path + @filename
–select @filename

– 开始备份, MYDB 是需要备份的数据库, COMPRESSION 参数表示压缩,可节省磁盘空间
backup database @dbName to disk = @filename with noformat, noinit, name = N’MYDB-完整 数据库 备份’, skip, norewind, nounload, stats = 10, COMPRESSION

– 删除15天前的备份文件
declare @olddate datetime
select @olddate=getdate()-15
– 执行删除 (SQL 2008 具备)
execute master.dbo.xp_delete_file 0, @path, ‘bak’, @olddate, 1
go

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动备份所有用户数据库,可以编写一个 SQL 脚本来完成。步骤如下: 首先,需要查询所有用户数据库的名称。可以使用系统视图 `sys.databases` 来获取这些信息。该视图包含了系统中所有数据库的详细信息,包括其名称、状态等。 然后,可以使用循环语句来遍历所有用户数据库,并为每个数据库生成备份文件的 SQL 语句。在 SQL Server 中,可以使用 `BACKUP DATABASE` 语句来备份数据库。该语句需要指定要备份数据库名称、备份类型、备份文件的路径等信息。可以使用当前日期时间来命名备份文件,确保每个备份文件的名称都是唯一的。 接下来,将生成的备份语句存储在一个变量中。 最后,执行备份语句。可以使用动态 SQL 语句来执行生成的备份语句。可以使用 `EXECUTE` 命令来执行动态 SQL 语句。 以下是该脚本的示例: ``` -- 查询所有用户数据库的名称 DECLARE @DatabaseName NVARCHAR(128) DECLARE db_cursor CURSOR FOR SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb') -- 排除系统数据库 OPEN db_cursor FETCH NEXT FROM db_cursor INTO @DatabaseName WHILE @@FETCH_STATUS = 0 BEGIN -- 生成备份语句 DECLARE @BackupStatement NVARCHAR(MAX) SET @BackupStatement = N'BACKUP DATABASE ' + QUOTENAME(@DatabaseName) + N' TO DISK = ''D:\Backup\' + @DatabaseName + '_' + REPLACE(CONVERT(NVARCHAR(20), GETDATE(), 120), ':', '') + N'.bak'' WITH INIT' -- 执行备份语句 EXECUTE(@BackupStatement) FETCH NEXT FROM db_cursor INTO @DatabaseName END CLOSE db_cursor DEALLOCATE db_cursor ``` 这个脚本会在 D 盘的 `Backup` 文件夹下为每个用户数据库生成一个独立的备份文件,文件名以数据库名称和当前日期时间命名。备份文件的路径和命名规则可以根据实际需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值