managed_backup.sp_backup_config_basic (Transact-SQL)
适用于:SQL Server 2016 (13.x) 及更高版本
为特定数据库或 SQL Server 实例配置SQL Server托管备份到 Microsoft Azure 的基本设置。
注意
可以单独调用此过程来创建基本的托管备份配置。 但是,如果计划添加高级功能或自定义计划,请在使用此过程启用托管备份之前,使用 managed_backup.sp_backup_config_advanced 和 managed_backup.sp_backup_config_schedule 配置这些设置。
语法
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 }
为指定的数据库启用或禁用SQL Server Microsoft Azure 的托管备份。 @enable_backup 是 位。
为第一个 SQL Server 实例配置SQL Server Microsoft Azure 托管备份时所需的参数。 如果要更改 Microsoft Azure 的现有SQL Server托管备份配置,此参数是可选的。 在这种情况下,任何未指定的配置值都将保留其现有值。
有关详细信息,请参阅启用SQL Server托管备份到 Azure。
[ @database_name = ] 'database_name'
用于在特定数据库上启用托管备份的数据库名称。
如果 @database_name 设置为 NULL,则这些设置位于实例级别, (应用于在实例) 上创建的所有新数据库。
[ @container_url = ] 'Azure_Storage_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 备份功能。 当用于更改 microsoft Azure SQL Server托管备份配置时,此参数是可选的。 如果未指定,则保留现有配置值。
警告
目前不支持 @credential_name 参数。 仅支持备份到块 Blob,这要求此参数为 NULL。
返回代码值
0
(成功) 或 1
(失败) 。
权限
需要 具有对 存储过程的 ALTER ANY CREDENTIAL 权限和 EXECUTE 权限 sp_delete_backuphistory
的 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 天,并将目标设置为名为 的存储帐户中名为 myContainer
的mystorageaccount
容器。
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. 禁用SQL Server托管备份到 Azure
以下示例禁用SQL Server Microsoft Azure 的托管备份SQL Server执行该备份的实例。
USE msdb;
GO
EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO
另请参阅
反馈
提交和查看相关反馈