SQLSERVER 数据库备份脚本-支持多库备份

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQLSERVER 数据库备份脚本-支持多库备份 --变量定义 DECLARE @backupfile VARCHAR(1024) DECLARE @backdesc VARCHAR(1024) DECLARE @filename ...
原文: SQLSERVER 数据库备份脚本-支持多库备份

<pre name="code" class="sql">--变量定义
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   LOWER(name) IN ( 'db1', 'db2' )

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 = @filename + '_' + CONVERT (VARCHAR(3), DATEPART(ms, GETDATE()))
    + N'.' + @extension_name

OPEN tmp_Cur;
FETCH NEXT FROM tmp_Cur INTO @dbname;
WHILE @@FETCH_STATUS = 0 
    BEGIN
		-- 得到完整目标文件,数据库将备份到这个文件中
        SET @backupfile = @path + @dbname + @filename
        --SELECT  @backupfile
		SET @backdesc =@dbname + N'-完整 数据库 备份'

		-- 开始备份, COMPRESSION 参数表示压缩,可节省磁盘空间
        BACKUP DATABASE @dbname TO DISK = @backupfile WITH NOFORMAT, NOINIT,  NAME = @backdesc, SKIP, NOREWIND, NOUNLOAD,  STATS = 10, COMPRESSION

        FETCH NEXT FROM tmp_Cur INTO @dbname
    END
CLOSE tmp_Cur;
DEALLOCATE tmp_Cur;

-- 删除3天前的备份文件
DECLARE @olddate DATETIME
SELECT  @olddate = DATEADD(d, -3, GETDATE())
-- 执行删除 (SQL 2008 具备)
EXECUTE master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1



目录
相关文章
|
8天前
|
SQL 存储 安全
sql server 数据库实例
SQL Server 数据库实例是指在 SQL Server 中创建的一个独立的数据库环境。每个数据库实例都拥有自己的一套完整的数据库文件、配置设置、用户和权限等,可以独立地进行管理和操作。以下是关于
|
9天前
|
SQL 监控 安全
sql server数据库监控
SQL Server数据库监控是收集、聚合和监控SQL服务器的各种指标的过程,旨在维护SQL数据库的运行状况和可用性,优化性能,并预防或快速响应错误。以下是一些关于SQL Server数据库监控的核心
|
3天前
|
SQL 存储 数据库
如何在SQLServer中创建数据库
在SQL Server中创建数据库,可通过SSMS的图形界面或T-SQL语句。在SSMS中,连接到服务器,右键“数据库”选择“新建数据库”,配置属性后点击确定。使用T-SQL,连接到服务器,编写CREATE DATABASE语句指定数据库名称、文件路径及大小信息,执行查询完成创建。确保有足够磁盘空间,并注意权限设置。
|
4天前
|
存储 安全 Linux
使用 `db_dump` 命令备份 Berkeley DB 数据库
`db_dump` 是 Linux 中用于备份 Berkeley DB 数据库的工具,它将数据库内容转储到输出或文件。
|
6天前
|
NoSQL 测试技术 MongoDB
MongoDB数据库管理:全面掌握mongodump和mongorestore的备份与恢复技巧
MongoDB数据库管理:全面掌握mongodump和mongorestore的备份与恢复技巧
|
6天前
|
存储 运维 关系型数据库
|
8天前
|
SQL XML Java
java与sql server数据库连接
在Java中连接SQL Server数据库,你通常需要使用JDBC (Java Database Connectivity)。以下是一个简单的步骤指南,帮助你建立连接: ### 1. **下载并
|
8天前
|
SQL 数据库 索引
sql server 跨数据库查询
在 SQL Server 中,跨数据库查询是指在一个数据库查询中访问另一个数据库的数据。这通常是在同一 SQL Server 实例上的不同数据库之间进行的。跨数据库查询在很多场景下都很有用,比如数据整
|
8天前
|
SQL 缓存 监控
sql server数据库监控
SQL Server数据库监控是收集、聚合和观察SQL服务器的各项指标的过程,旨在维护SQL数据库的运行状况和可用性。由于SQL数据库服务器的问题经常被识别为导致延迟等问题的原因,因此,对其进行监控显
|
9天前
|
SQL 数据库
sql2003备份数据库
在 SQL Server 2003 中,实际上你可能是在提及 SQL Server 2000 或 SQL Server 2005,因为 SQL Server 2003 不是一个官方版本。不过,无论是