managed_backup.sp_backup_config_basic (Transact-SQL)

适用于:SQL Server 2016 (13.x) 及更高版本

将 SQL Server 托管备份配置为特定数据库或 SQL Server 实例的 Microsoft Azure 基本设置。

注意

可以自行调用此过程来创建基本的托管备份配置。 但是,如果计划添加高级功能或自定义计划,请在使用此过程启用托管备份之前,使用 managed_backup.sp_backup_config_advancedmanaged_backup.sp_backup_config_schedule 配置这些设置。

Transact-SQL 语法约定

语法

EXEC managed_backup.sp_backup_config_basic
    [ @enable_backup = ] { 0 | 1 }
    , [ @database_name = ] 'database_name'
    , [ @container_url = ] 'Azure_Storage_blob_container'
    , [ @retention_days = ] retention_period_in_days
    , [ @credential_name = ] 'sql_credential_name'
[ ; ]

参数

[ @enable_backup = ] { 0 | 1 }

为指定的数据库启用或禁用到 Microsoft Azure 的 SQL Server 托管备份。 @enable_backup

为 SQL Server 的第一个实例配置 SQL Server 托管备份到 Microsoft Azure 时所需的参数。 如果要将现有的 SQL Server 托管备份更改为 Microsoft Azure 配置,此参数是可选的。 在这种情况下,未指定的任何配置值都保留其现有值。

有关详细信息,请参阅 “启用到 Azure 的 SQL Server 托管备份”。

[ @database_name = ] 'database_name'

用于在特定数据库上启用托管备份的数据库名称。

如果 @database_name 设置为 NULL,则设置位于实例级别(适用于在实例上创建的所有新数据库)。

[ @container_url = ] 'Azure_存储_blob_container'

指示备份位置的 URL。 当@credential_name为 NULL 时,此 URL 是 Azure 存储 中 Blob 容器的共享访问签名 (SAS) URL,备份使用新的备份来阻止 Blob 功能。 有关详细信息,请查看 了解 SAS。 指定@credential_name,这是存储帐户 URL,备份使用已弃用的备份页 Blob 功能。

如果 SAS URL 包含 SAS 令牌,则必须将其与问号上的 SAS 令牌分开,并且不包含问号。

例如, https://managedbackupstorage.blob.core.windows.net/backupcontainer?sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl 生成以下两个值:

类型 输出
容器 URL https://managedbackupstorage.blob.core.windows.net/backupcontainer
SAS 令牌 sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

注意

目前仅支持此参数的 SAS URL。

[ @retention_days = ] retention_period_in_days

备份文件的保持期(以天为单位)。 @retention_days为 int。这是在 SQL Server 实例上首次将 SQL Server 托管备份配置为 Microsoft Azure 时所需的参数。 将 SQL Server 托管备份更改为 Microsoft Azure 配置时,此参数是可选的。 如果不指定,则会保留现有的配置值。

[ @credential_name = ] 'sql_credential_name'

用于向 Azure 存储帐户进行身份验证的 SQL 凭据的名称。 @credential_name为 sysname。 指定后,备份将存储到页 Blob。 如果此参数为 NULL,则备份将存储为块 Blob。 备份到页 Blob 已弃用,因此首选使用新的块 Blob 备份功能。 用于将 SQL Server 托管备份更改为 Microsoft Azure 配置时,此参数是可选的。 如果未指定,则保留现有配置值。

警告

目前不支持@credential_name参数。 仅支持备份到块 blob,这要求此参数为 NULL。

返回代码值

0(成功)或 1(失败)。

权限

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

示例

A. 创建存储帐户容器和 SAS URL

可以使用最新的 Azure PowerShell 命令创建存储帐户容器和共享访问签名 (SAS) URL。 以下示例在mystorageaccount存储帐户中创建一个新容器myContainer,然后获取具有完全权限的 SAS URL。

有关共享访问签名的详细信息,请参阅使用共享访问签名 (SAS) 授予对 Azure 存储资源的有限访问权限。 有关 PowerShell 脚本示例,请参阅 “创建共享访问签名”。

$context = New-AzureStorageContext -StorageAccountName mystorageaccount -StorageAccountKey (Get-AzureStorageKey -StorageAccountName mystorageaccount).Primary
New-AzureStorageContainer -Name myContainer -Context $context
New-AzureStorageContainerSASToken -Name myContainer -Permission rwdl -FullUri -Context $context

B. 启用 Azure 的 SQL Server 托管备份

以下示例为执行 SQL Server 实例的 Microsoft Azure 启用 SQL Server 托管备份,将保留策略设置为 30 天,并将目标设置为名为myContainermystorageaccount存储帐户中的容器。

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 1,
    @container_url = 'https://mystorageaccount.blob.core.windows.net/myContainer',
    @retention_days = 30;
GO

°C 禁用到 Azure 的 SQL Server 托管备份

以下示例为执行 SQL Server 的 SQL Server 实例禁用到 Microsoft Azure 的 SQL Server 托管备份。

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO