managed_backup.sp_backup_config_basic (Transact-SQL)
適用於: SQL Server 2016 (13.x) 和更新版本
設定 SQL Server 受控備份,以Microsoft特定資料庫或 SQL Server 實例的 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 時的必要參數。 如果您要將現有的 SQL Server 受控備份變更為 Microsoft Azure 組態,則此參數是選擇性的。 在此情況下,未指定的任何組態值都會保留其現有的值。
如需詳細資訊,請參閱 啟用 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 功能。 如需詳細資訊,請檢閱使用共用存取簽章授與有限存取權給 Azure 儲存體 資源。 指定@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 受控備份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 的實例停用 SQL Server 受控備份,以Microsoft Azure。
USE msdb;
GO
EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO