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 }

針對指定的資料庫啟用或停用 SQL Server 受控備份至 Microsoft Azure。 @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 許可權和 EXECUTE 許可權之db_backupoperator資料庫角色的成員資格sp_delete_backuphistory

範例

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. 啟用 SQL Server 受控備份至 Azure

下列範例會針對執行 SQL Server 的實例,啟用 SQL Server 受控備份至 Microsoft Azure、將保留原則設定為 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. 停用 SQL Server 受控備份至 Azure

下列範例會針對執行 SQL Server 的實例停用 SQL Server 受控備份至 Microsoft Azure。

USE msdb;
GO

EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO