用语句来创建多个数据库的备份、删除过期文件作业
来源:互联网 发布:淘宝男休闲运动皮鞋 编辑:程序博客网 时间:2024/06/05 11:50
SQLServer的维护计划是强大的,特别是体现在备份、删除过期文件这个方面。
可以创建文件夹、备份多个库、删除过期文件……
不过配置时还是有点烦人,要选择很多东西。
那用语句如何实现呢?
--作业步骤1. 备份所有指定数据库DECLARE @dbs TABLE( rowNum INT IDENTITY(1, 1) PRIMARY KEY, dbName NVARCHAR(200), bakPath AS N'D:\database_bak\' + dbName + '\' + dbName + '_' + REPLACE(REPLACE(REPLACE(CONVERT(CHAR(19), GETDATE(), 120), '-', ''),':',''),' ','_') + '.bak')SET NOCOUNT ON--将所有符合条件的DB插入到表变量INSERT INTO @dbs(dbName)SELECT NAMEFROM sys.databases dWHERE NAME NOT IN ('master', 'tempdb', 'model', 'msdb', 'ag_test') AND NAME NOT LIKE '%monitor%'ORDER BY NAME--遍历表变量中的所有数据库DECLARE @i INT,@iMax INT,@sql NVARCHAR(MAX)SELECT @i = 1,@iMax = MAX(rowNum) FROM @dbsWHILE @i <= ISNULL(@iMax, 0)BEGIN --创建 dbName 开头的子文件夹 SELECT @sql = 'EXECUTE master.dbo.xp_create_subdir N''d:\database_bak\' + dbName + '''' FROM @dbs WHERE rowNum = @i EXEC (@sql) --备份 --2005 要去掉 COMPRESSION SELECT @sql = 'BACKUP DATABASE [' + dbName + '] TO DISK = N''' + bakPath + ''' WITH NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 20' FROM @dbs WHERE rowNum = @i EXEC (@sql) SET @i = @i + 1END--作业步骤二. 删除过期文件DECLARE @oldDate DATETIME--保留 2 天文件(昨天0点之前文件会被删除)SET @oldDate = CAST(CONVERT(CHAR(10),GETDATE(),120) AS DATETIME)-1EXECUTE MASTER.dbo.xp_delete_file 0,--0: 备份文件,1: 维护计划文本报告N'D:\database_bak\',--文件路径N'bak', --文件扩展名@oldDate, --在此时间之前的文件一律删除1 --删除子文件夹中的文件
阅读全文
0 0
- 用语句来创建多个数据库的备份、删除过期文件作业
- 尝试用语句备份sql数据库
- MSSQL2005用语句创建数据库和表
- MSSQL2005用语句创建数据库和表
- MSSQL2005用语句创建数据库和表
- 删除按时间备份的过期文件
- 用语句创建表空间的备忘
- 创建数据库备份作业
- 创建数据库备份作业
- 删除过期的RMAN备份
- 用语句实现dblink创建;
- 创建、删除、备份数据库
- 用SQL作业实现删除过期文件
- Centos自动删除过期备份或者文件
- SqlServer2005数据库自动备份和删除过期备份
- 数据库自动备份、自动删除;创建任务本地保存文件
- SqlServer批量备份多个数据库且删除3天前的备份
- 删除过期的trace文件
- java面试
- 设计模式
- 浅析网站优化时使用锚文本常犯的错误
- 使用Ionic3开发混合APP的架构设计总结
- android studio 用cmake加入FFMPEG so及头文件
- 用语句来创建多个数据库的备份、删除过期文件作业
- VirtualBox虚拟机中手动激活网卡配置网络
- 工作中遇到查询出来的字段多出了空格
- linux 查看日志常用命令
- 适合Java开发者学习的Python入门教程
- 照片滚动
- Robomongo 可视化工具下载
- logback的使用和logback.xml详解
- opencv3 Mat类的成员函数forEach