managed_backup.sp_backup_config_basic (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降のバージョン
特定のデータベースまたは SQL Server のインスタンスに対して、Microsoft Azure の基本設定への SQL Server マネージド バックアップを構成します。
Note
この手順を単独で呼び出して、基本的なマネージド バックアップ構成を作成できます。 ただし、高度な機能またはカスタム スケジュールを追加する場合は、この手順でマネージド バックアップを有効にする前に、 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 }
指定したデータベースの Microsoft Azure への SQL Server マネージド バックアップを有効または無効にします。 @enable_backup は ビットです。
SQL Server の最初のインスタンスに対して Microsoft Azure への SQL Server マネージド バックアップを構成するときに必要なパラメーター。 既存の SQL Server マネージド バックアップを Microsoft Azure 構成に変更する場合、このパラメーターは省略可能です。 その場合、指定されていない構成値は既存の値を保持します。
詳細については、「 Azure への SQL Server マネージド バックアップを有効にするを参照してください。
[ @database_name = ] 'database_name'
特定のデータベースでマネージド バックアップを有効にするためのデータベース名。
@database_nameが NULL
に設定されている場合、設定はインスタンス レベルになります (インスタンスで作成されたすべての新しいデータベースに適用されます)。
[ @container_url = ] 'Azure_Storage_blob_container'
バックアップの場所を示す URL。 @credential_nameがNULL
されると、この URL は Azure Storage 内の BLOB コンテナーへの Shared Access Signature (SAS) URL であり、バックアップでは新しいバックアップを使用して BLOB 機能がブロックされます。 詳細については、「 共有アクセス署名 (SAS)を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。 @credential_nameが指定されている場合、これはストレージ アカウントの URL であり、バックアップでは非推奨のバックアップを使用して BLOB 機能をページ化します。
SAS URL に SAS トークンが含まれている場合は、疑問符の 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
結果は次の 2 つの値になります。
Type | 出力 |
---|---|
コンテナー 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 |
Note
現時点では、このパラメーターでは SAS URL のみがサポートされています。
[ @retention_days = ] retention_period_in_days
バックアップ ファイルの保有期間 (日数)。 @retention_days は int です。これは、SQL Server のインスタンスで初めて Microsoft Azure への SQL Server マネージド バックアップを構成するときに必要なパラメーターです。 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 権限を持つ db_backupoperator データベース ロールのメンバーシップと、 sp_delete_backuphistory
ストアド プロシージャに対する EXECUTE 権限が必要です。
例
A. ストレージ アカウント コンテナーと SAS URL を作成する
最新の Azure PowerShell コマンドを使用して、ストレージ アカウント コンテナーと Shared Access Signature (SAS) URL の両方を作成できます。 次の例では、mystorageaccount
ストレージ アカウントに新しいコンテナー myContainer
を作成し、完全なアクセス許可を持つ SAS URL を取得します。
Shared Access Signature の詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。 PowerShell スクリプトの例については、「 Shared Access Signature の作成」を参照してください。
$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 日に設定し、宛先を mystorageaccount
という名前のストレージ アカウント内の myContainer
という名前のコンテナーに設定します。
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 のインスタンスに対して、Microsoft Azure への SQL Server マネージド バックアップを無効にします。
USE msdb;
GO
EXEC managed_backup.sp_backup_config_basic @enable_backup = 0;
GO