smart_admin.set_db_backup (Transact-SQL)

配置指定数据库的 SQL Server 托管备份到 Windows Azure 设置。

使用此存储过程可启用和配置特定数据库的 SQL Server 托管备份到 Windows Azure 设置。

适用范围:SQL Server(SQL Server 2014 至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

EXEC smart_admin.sp_set_db_backup  
     [@database_name = ] 'database name'
    ,[@enable_backup = ] { 0 | 1}
    ,[@storage_url = ] 'storage url'
    ,[@retention_days = ] 'retention_period_in_days'
    ,[@credential_name = ] 'sql_credential_name'
    ,[@encryption_algorithm] 'name of the encryption algorithm'
    ,[@encryptor_type] {'CERTIFICATE' | 'ASYMMETRIC_KEY'}
    ,[@encryptor_name] 'name of the certificate or asymmetric key'

参数

  • @database\_name
    数据库的名称。 @database\_nameSYSNAME。 这是必需的参数。

  • @enable\_backup
    启用或禁用指定数据库的 SQL Server 托管备份到 Windows Azure。 @enable\_backupBIT。 在首次为数据库配置 SQL Server 托管备份到 Windows Azure 时,它是必需的参数。 当用于更改 SQL Server 托管备份到 Windows Azure 配置设置时,此参数是可选参数。 如果不指定,则会保留现有的配置值。

  • @storage\_url
    Windows Azure 存储帐户的 URL。 例如:“https://www.blob.core.windows. net/mystorageaccount”。 其中不应包含容器。 @storage\_urlNVARCHAR(1024)。 在首次配置 SQL Server 托管备份到 Windows Azure 时,它是必需的参数。 当用于更改 SQL Server 托管备份到 Windows Azure 配置设置时,此参数是可选参数。 如果不指定,则会保留现有的配置值。

  • @retention\_days
    备份文件的保持期(以天为单位)。 @storage\_urlINT。 在首次配置 SQL Server 托管备份到 Windows Azure 时,它是必需的参数。 当用于更改 SQL Server 托管备份到 Windows Azure 配置设置时,此参数是可选参数。 如果不指定,则会保留现有的配置值。

  • @credential\_name
    用于验证 Windows Azure 存储帐户身份的 SQL 凭据的名称。 @credentail\_nameSYSNAME。 在首次为数据库配置 SQL Server 托管备份到 Windows Azure 时,它是必需的参数。 当用于更改 SQL Server 托管备份到 Windows Azure 配置设置时,此参数是可选参数。 如果不指定,则会保留现有的配置值。

  • @encryption\_algorithm
    要用于在备份操作期间加密备份文件的加密算法的名称。 @encryption\_algorithmSYSNAME。 在首次为数据库配置 SQL Server 托管备份到 Windows Azure 时,它是必需的参数。 如果不想加密备份文件,则指定 NO_ENCRYPTION。 在更改 SQL Server 托管备份到 Windows Azure 配置设置时,此参数是可选参数;如果不指定,则会保留现有的配置值。 此参数的允许值包括:

    • AES_128

    • AES_192

    • AES_256

    • TRIPLE_DES_3KEY

    • NO_ENCRYPTION

    有关加密算法的详细信息,请参阅选择加密算法

  • @encryptor\_type
    用于加密的加密程序的类型。 @encryptor\_typeNVARCHAR(32)。 您可以将非对称密钥或证书用作加密程序类型。 如果为 @encryption\_algorithm 参数指定 NO_ENCRYPTION,则此参数是可选参数。

  • @encryptor\_name
    要用于加密备份的现有证书或非对称密钥的名称。 @encryptor\_nameSYSNAME。 如果使用非对称密钥,则它必须位于扩展密钥管理 (EKM) 提供程序中。

    有关详细信息,请参阅可扩展的密钥管理 (EKM)

返回代码值

0(成功)或 1(失败)

安全性

权限

要求具有 ALTER ANY CREDENTIAL 权限的 db_backupoperator 数据库角色的成员身份,以及对 sp_delete_backuphistory 存储过程的 EXECUTE 权限。

示例

下面的示例为数据库“TestDB”启用和配置SQL Server 托管备份到 Windows Azure。

Use msdb;
GO
EXEC smart_admin.sp_set_db_backup 
                @database_name='TestDB' 
                ,@enable_backup=1
                ,@storage_url = 'https://mystorageaccount.blob.core.windows.net/' 
                ,@retention_days=30 
                ,@credential_name='MyCredential'
                ,@encryption_algorithm ='AES_128'
                ,@encryptor_type= 'ServerCertificate'
                ,@encryptor_name='MyBackupCert';
GO 

请参阅

概念

SQL Server 托管备份到 Windows Azure - 保持和存储设置

为可用性组设置 SQL Server 托管备份到 Windows Azure