托管备份的高级选项
以下教程介绍了如何设置 Microsoft Azure 的 SQL Server 托管备份的高级选项。 仅当你需要提供的这些功能时,才需要这些步骤。 否则,可以启用 Microsoft Azure 的 SQL Server 托管备份 并依赖于默认行为。
在每个方案中,使用 database_name 参数指定备份。 当 database_name 为 NULL 或 * 时,这些更改会影响实例级别的默认设置。 实例级别的设置也会影响在更改后创建的新数据库。
指定这些设置后,便可以使用系统存储过程 managed_backup.sp_backup_config_basic (Transact-SQL) 为数据库或实例启用托管备份。 有关详细信息,请参阅启用 Microsoft Azure SQL Server 托管备份。
警告
在使用 managed_backup.sp_backup_config_basic (Transact-SQL) 启用 Microsoft Azure 的 SQL Server 托管备份 之前,应该始终配置高级选项和自定义计划选项。 否则,在启用 Microsoft Azure 的 SQL Server 托管备份 和配置这些设置之间的这一时间段中,可能会发生不需要的备份操作。
配置加密
以下步骤介绍如何使用存储过程 managed_backup.sp_backup_config_advanced (Transact-SQL) 指定加密设置。
确定加密算法: 首先,确定要使用的加密算法的名称。 选择以下算法之一:
AES_128
AES_192
AES_256
TRIPLE_DES_3KEY
NO_ENCRYPTION
创建数据库主密钥: 选择密码来对存储于该数据库中的主密钥副本进行加密。
-- Creates a database master key. -- The key is encrypted using the password "<master key password>" USE Master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>'; GO创建备份证书或非对称密钥: 可以将证书或非对称密钥用于加密。 以下示例创建了用于加密的备份证书。
SQL
USE Master; GO CREATE CERTIFICATE MyTestDBBackupEncryptCert WITH SUBJECT = 'MyTestDBBackupEncryptCert'; GO设置托管备份加密: 使用相应值调用 managed_backup.sp_backup_config_advanced 存储过程。 例如,以下示例使用名为
MyDB的证书和MyTestDBBackupEncryptCert加密算法为加密配置AES_128数据库。USE msdb; GO EXEC managed_backup.sp_backup_config_advanced @database_name = 'MyDB' ,@encryption_algorithm ='AES_128' ,@encryptor_type = 'CERTIFICATE' ,@encryptor_name = 'MyTestDBBackupEncryptCert'; GO警告
如果在上一示例中
@database_name为 NULL,这些设置则应用于 SQL Server 实例。
配置自定义备份计划
以下步骤介绍如何使用存储过程 managed_backup.sp_backup_config_schedule (Transact-SQL) 设置自定义计划。
确定完整备份的频率: 确定多久对数据库进行一次完整备份。 可以选择“每日”或“每周”完整备份。
确定日志备份的频率: 确定多久进行一次日志备份。 此值以分钟或小时为单位。
确定在星期几进行每周备份: 如果是每周备份一次,请选择在星期几进行完整备份。
确定备份开始时间: 选择备份开始时间(使用 24 小时制)。
确定允许的备份时长: 这指定必须达到的备份时长。
设置自定义备份计划: 下面的存储过程定义
MyDB数据库的自定义计划。 完整备份将在每周Monday的17:30进行。 每5分钟进行日志备份。 备份完成的时间为两个小时。USE msdb; GO EXEC managed_backup.sp_backup_config_schedule @database_name = 'MyDB' ,@scheduling_option = 'Custom' ,@full_backup_freq_type = 'Weekly' ,@days_of_week = 'Monday' ,@backup_begin_time = '17:30' ,@backup_duration = '02:00' ,@log_backup_freq = '00:05' GO




