设置备份的期满日 (SQL Server)

适用于:SQL Server

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中设置备份的期满日。

如果在单个文件中追加多个数据库备份,则可以使用期满日来避免覆盖该日期之前的备份。 有关详细信息,请参阅介质集选项

权限

默认情况下,为 sysadmin 固定服务器角色以及 db_owner 和 db_backupoperator 固定数据库角色的成员授予 BACKUP DATABASEBACKUP LOG 权限 。

备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。 SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。 但是,用于在系统表中添加备份设备条目的 sp_addumpdevice 并不检查文件访问权限。 有关备份设备物理文件的这些问题可能直到为尝试备份或还原而访问物理资源时才会出现。

使用 SQL Server Management Studio

  1. 连接到 SQL Server 数据库引擎的相应实例后,在对象资源管理器中选择服务器名称以展开服务器树。

  2. 展开 “数据库”,然后根据数据库的不同,选择用户数据库,或展开 “系统数据库” ,再选择系统数据库。

  3. 右键单击数据库,指向“任务”,然后单击“备份”。 将出现 “备份数据库” 对话框。

  4. “常规” 页上,为 “备份集过期时间”指定一个过期日期以指明其他备份可以覆盖该备份集的时间:

    • 要使备份集在特定天数后过期,请选择“之后”(默认选项),然后输入备份集从创建到过期将经过的天数。 此值范围为 0 到 99,999 天;0 天表示备份集永不过期。

      默认值在 “服务器属性”对话框(位于 “数据库设置”页上)的 “默认备份媒体保持期(天)”选项中设置。 若要访问此值,请在对象资源管理器中右键单击服务器名称,选择“属性”;然后选择“数据库设置”页。

    • 若要使备份集在特定日期过期,请选择“”,然后输入备份集的过期日期。

使用 Transact-SQL

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. BACKUP (Transact-SQL) 语句中,指定 EXPIREDATE 或 RETAINDAYS 选项来确定 SQL Server 数据库引擎何时可以覆盖备份。 如果这两个选项均未指定,则过期日期由 介质保持期 服务器配置设置确定。 下面的示例使用 EXPIREDATE 选项指定期满日为 2024 年 6 月 1 日 (20240601)。

    USE AdventureWorks2022;
    GO
    
    BACKUP DATABASE AdventureWorks2022
    TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
    WITH EXPIREDATE = '20240601';
    GO