SQL Server 2014 Virtual Machines の自動バックアップ (Resource Manager)Automated Backup for SQL Server 2014 Virtual Machines (Resource Manager)

自動バックアップでは、SQL Server 2014 Standard または Enterprise を実行する Azure VM 上の既存のデータベースと新しいデータベースのすべてを対象に、 Microsoft Azure へのマネージド バックアップ が自動的に構成されます。Automated Backup automatically configures Managed Backup to Microsoft Azure for all existing and new databases on an Azure VM running SQL Server 2014 Standard or Enterprise. これにより、永続的な Azure BLOB ストレージを利用した日常的なデータベース バックアップを構成できます。This enables you to configure regular database backups that utilize durable Azure blob storage. 自動バックアップは、 SQL Server IaaS Agent 拡張機能に依存します。Automated Backup depends on the SQL Server IaaS Agent Extension.

注意

Azure には、リソースの作成と操作に使用できるデプロイメント モデルが 2 種類あります。Azure Resource Manager とクラシックですAzure has two different deployment models you can use to create and work with resources: Azure Resource Manager and classic. この記事では、Resource Manager デプロイ モデルの使用について説明します。This article covers the use of the Resource Manager deployment model. 新しいデプロイには、クラシック デプロイ モデルではなく、Resource Manager デプロイ モデルをお勧めします。We recommend the Resource Manager deployment model for new deployments instead of the classic deployment model.

前提条件Prerequisites

自動バックアップを使用するには、次の前提条件を検討してください。To use Automated Backup, consider the following prerequisites:

オペレーティング システム:Operating System:

  • Windows Server 2012Windows Server 2012
  • Windows Server 2012 R2Windows Server 2012 R2
  • Windows Server 2016Windows Server 2016

SQL Server バージョン/エディション:SQL Server version/edition:

  • SQL Server 2014 StandardSQL Server 2014 Standard
  • SQL Server 2014 EnterpriseSQL Server 2014 Enterprise

重要

自動バックアップは、SQL Server 2014 で動作します。Automated Backup works with SQL Server 2014. SQL Server 2016/2017 を使用している場合は、Automated Backup v2 を使用してデータベースをバックアップできます。If you are using SQL Server 2016/2017, you can use Automated Backup v2 to back up your databases. 詳細については、「Automated Backup v2 for SQL Server 2016 Azure Virtual Machines (SQL Server 2016 Azure Virtual Machines の自動バックアップ v2)」を参照してください。For more information, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

データベースの構成:Database configuration:

  • ターゲット データベースでは、完全復旧モデルを使用する必要があります。Target databases must use the full recovery model. バックアップに対する完全復旧モデルの影響の詳細については、「完全復旧モデルでのバックアップ」を参照してください。For more information about the impact of the full recovery model on backups, see Backup Under the Full Recovery Model.
  • ターゲット データベースは、既定の SQL Server インスタンスに存在する必要があります。Target databases must be on the default SQL Server instance. SQL Server IaaS 拡張機能は、名前付きインスタンスをサポートしていません。The SQL Server IaaS Extension does not support named instances.

注意

自動バックアップは、SQL Server IaaS Agent 拡張機能に依存します。Automated Backup relies on the SQL Server IaaS Agent Extension. 現在の SQL 仮想マシン ギャラリー イメージでは、既定でこの拡張機能が追加されます。Current SQL virtual machine gallery images add this extension by default. 詳細については、SQL Server IaaS Agent 拡張機能に関するページをご覧ください。For more information, see SQL Server IaaS Agent Extension.

設定Settings

自動バックアップで構成できるオプションを次の表に示します。The following table describes the options that can be configured for Automated Backup. 実際の構成手順は、Azure ポータルと Azure Windows PowerShell コマンドのどちらを使用するかによって異なります。The actual configuration steps vary depending on whether you use the Azure portal or Azure Windows PowerShell commands.

SettingSetting 範囲 (既定値)Range (Default) 説明Description
自動化されたバックアップAutomated Backup 有効/無効 (無効)Enable/Disable (Disabled) SQL Server 2014 Standard または Enterprise を実行している Azure VM で、自動バックアップを有効または無効にします。Enables or disables Automated Backup for an Azure VM running SQL Server 2014 Standard or Enterprise.
保有期間Retention Period 1 ~ 30 日 (30 日)1-30 days (30 days) バックアップを保持する日数。The number of days to retain a backup.
ストレージ アカウントStorage Account Azure ストレージ アカウントAzure storage account 自動バックアップのファイルを BLOB ストレージに保存するために使用する Azure ストレージ アカウント。An Azure storage account to use for storing Automated Backup files in blob storage. この場所にコンテナーが作成され、すべてのバックアップ ファイルが保存されます。A container is created at this location to store all backup files. バックアップ ファイルの名前付け規則には、日付、時刻、およびコンピューター名が含まれます。The backup file naming convention includes the date, time, and machine name.
暗号化Encryption 有効/無効 (無効)Enable/Disable (Disabled) 暗号化を有効または無効にします。Enables or disables encryption. 暗号化を有効にすると、バックアップの復元に使用する証明書は、指定されたストレージ アカウントの同じ automaticbackup コンテナー内に、同じ名前付け規則を使用して配置されます。When encryption is enabled, the certificates used to restore the backup are located in the specified storage account in the same automaticbackup container using the same naming convention. パスワードが変更された場合、そのパスワードを使用して新しい証明書が生成されますが、以前のバックアップの復元には古い証明書が引き続き使用されます。If the password changes, a new certificate is generated with that password, but the old certificate remains to restore prior backups.
パスワードPassword パスワード テキストPassword text 暗号化キーのパスワード。A password for encryption keys. 暗号化を有効にした場合にのみ必須となります。This is only required if encryption is enabled. 暗号化されたバックアップを復元するには、バックアップの作成時に使用した正しいパスワードおよび関連する証明書が必要です。In order to restore an encrypted backup, you must have the correct password and related certificate that was used at the time the backup was taken.

ポータルで構成するConfigure in the portal

Azure Portal を使用して、プロビジョニング中または既存の SQL Server 2014 VM 用に、自動バックアップを構成することができます。You can use the Azure portal to configure Automated Backup during provisioning or for existing SQL Server 2014 VMs.

新しい VM を構成するConfigure new VMs

Resource Manager デプロイ モデルで新しい SQL Server 2014 Virtual Machine を作成するときに、Azure Portal を使用して自動バックアップを構成します。Use the Azure portal to configure Automated Backup when you create a new SQL Server 2014 Virtual Machine in the Resource Manager deployment model.

[SQL Server 設定] タブで下にスクロールして [自動バックアップ] を見つけ、 [有効にする] を選択します。In the SQL Server settings tab, scroll down to Automated backup and select Enable. 保存期間とストレージ アカウントを指定できるだけでなく、暗号化を有効にしたり、システム データベースをバックアップしたり、バックアップ スケジュールを構成したりすることもできます。You can also specify the retention period, and storage account, as well as enabling encryption, backing up system databases, and configuring a backup schedule. 次の Azure Portal のスクリーンショットは、SQL Automated Backup の設定を示しています。The following Azure portal screenshot shows the SQL Automated Backup settings.

Azure ポータルの SQL 自動バックアップ構成

既存の VM を構成するConfigure existing VMs

注意

次のスクリーンショットは、Azure Portal 内の SQL 仮想マシンのリソースからのものです。The following screenshots are from the SQL virtual machines resource within the Azure portal. サポート終了 (EOS) の SQL Server VM、および SQL VM リソース プロバイダーに登録されていない SQL Server VM の場合は、代わりに [SQL Server の構成] タブを使用して SQL Server VM を管理してください。For end-of-support (EOS) SQL server VMs, and SQL Server VMs that have not been registered with the SQL VM resource provider, use the SQL Server configuration tab to manage your SQL Server VM instead.

既存の SQL Server 仮想マシンの場合、[SQL 仮想マシン リソース] に移動し、 [バックアップ] を選択します。For existing SQL Server virtual machines, navigate to the SQL virtual machines resource and then select Backups.

既存の VM の SQL 自動バックアップ

完了したら、 [バックアップ] ページの下にある [適用] ボタンを選択して変更内容を保存します。When finished, select the Apply button on the bottom of the Backups page to save your changes.

自動バックアップを初めて有効にすると、バックグラウンドで SQL Server IaaS エージェントが構成されます。If you are enabling Automated Backup for the first time, Azure configures the SQL Server IaaS Agent in the background. この間、自動バックアップが構成されていることは、Azure ポータルに示されない可能性があります。During this time, the Azure portal might not show that Automated Backup is configured. エージェントがインストールされ、構成されるまで数分待ちます。Wait several minutes for the agent to be installed, configured. その後、Azure ポータルに新しい設定が反映されます。After that the Azure portal will reflect the new settings.

注意

テンプレートを使用して自動バックアップを構成することもできます。You can also configure Automated Backup using a template. 詳細については、 自動バックアップ用の Azure クイックスタート テンプレートに関するページをご覧ください。For more information, see Azure quickstart template for Automated Backup.

PowerShell を使用して構成するConfigure with PowerShell

PowerShell を使用して自動バックアップを構成できます。You can use PowerShell to configure Automated Backup. 開始する前に、次の操作を行う必要があります。Before you begin, you must:

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

SQL IaaS 拡張機能のインストールInstall the SQL IaaS Extension

SQL Server 仮想マシンを Azure Portal からプロビジョニングした場合は、SQL Server IaaS 拡張機能は既にインストールされています。If you provisioned a SQL Server virtual machine from the Azure portal, the SQL Server IaaS Extension should already be installed. 拡張機能が仮想マシンにインストール済みかどうかを確認するには、Get-AzVM コマンドを呼び出して拡張機能プロパティを調べます。You can determine if it is installed for your VM by calling Get-AzVM command and examining the Extensions property.

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions

SQL Server IaaS Agent 拡張機能がインストールされている場合は、"SqlIaaSAgent" または "SQLIaaSExtension" として一覧に表示されます。If the SQL Server IaaS Agent extension is installed, you should see it listed as “SqlIaaSAgent” or “SQLIaaSExtension”. また拡張機能の ProvisioningState が "成功" と表示されます。ProvisioningState for the extension should also show “Succeeded”.

インストールされていないかプロビジョニングに失敗した場合は、次のコマンドを使ってインストールできます。If it is not installed or failed to be provisioned, you can install it with the following command. VM 名とリソース グループのほかに、VM が配置されているリージョン ( $region) を指定する必要があります。In addition to the VM name and resource group, you must also specify the region ($region) that your VM is located in.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -Location $region

重要

拡張機能がまだインストールされていない場合、拡張機能をインストールすると、SQL Server サービスが再起動されます。If the extension is not already installed, installing the extension restarts the SQL Server service.

現在の設定の確認Verify current settings

プロビジョニング中に自動バックアップを有効にすると、PowerShell を使って現在の構成を確認することができます。If you enabled automated backup during provisioning, you can use PowerShell to check your current configuration. Get-AzVMSqlServerExtension コマンドを実行して AutoBackupSettings プロパティを調べます。Run the Get-AzVMSqlServerExtension command and examine the AutoBackupSettings property:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

次のような出力が表示されます。You should get output similar to the following:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

出力で [有効]False に設定されていると表示される場合は、自動バックアップを有効にする必要があります。If your output shows that Enable is set to False, then you have to enable automated backup. 自動バックアップは同じ方法で有効にし、構成できます。The good news is that you enable and configure Automated Backup in the same way. 詳細については、次のセクションを参照してください。See the next section for this information.

注意

変更直後に設定を確認すると、以前の構成値が表示されることがあります。If you check the settings immediately after making a change, it is possible that you will get back the old configuration values. 変更が適用されていることを確認するには、数分経ってから設定を再び確認します。Wait a few minutes and check the settings again to make sure that your changes were applied.

自動バックアップの構成Configure Automated Backup

PowerShell を使用すると、自動バックアップを有効にできるほか、自動バックアップの構成や動作をいつでも変更することができます。You can use PowerShell to enable Automated Backup as well as to modify its configuration and behavior at any time.

最初に、バックアップ ファイル用のストレージ アカウントを選択または作成します。First, select or create a storage account for the backup files. 次のスクリプトでは、ストレージ アカウントを選択し、ストレージ アカウントが存在しない場合は作成します。The following script selects a storage account or creates it if it does not exist.

$storage_accountname = “yourstorageaccount”
$storage_resourcegroupname = $resourcegroupname

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

注意

自動バックアップでは Premium Storage でのバックアップの保存をサポートしていませんが、Premium Storage を使用する VM ディスクからバックアップを取ることができます。Automated Backup does not support storing backups in premium storage, but it can take backups from VM disks which use Premium Storage.

次に New-AzVMSqlServerAutoBackupConfig コマンドを使って、Azure ストレージ アカウントにバックアップを保存するように、自動バックアップを有効にして設定を構成します。Then use the New-AzVMSqlServerAutoBackupConfig command to enable and configure the Automated Backup settings to store backups in the Azure storage account. この例では、バックアップは 10 日間保持されます。In this example, the backups are retained for 10 days. 2 番目のコマンド Set-AzVMSqlServerExtension は、指定された Azure VM をこれらの設定で更新します。The second command, Set-AzVMSqlServerExtension, updates the specified Azure VM with these settings.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

SQL Server IaaS エージェントのインストールと構成には数分かかる場合があります。It could take several minutes to install and configure the SQL Server IaaS Agent.

注意

SQL Server 2016 と自動バックアップ v2 のみに適用される、New-AzVMSqlServerAutoBackupConfig のその他の設定があります。There are other settings for New-AzVMSqlServerAutoBackupConfig that apply only to SQL Server 2016 and Automated Backup v2. SQL Server 2014 では、BackupSystemDbsBackupScheduleTypeFullBackupFrequencyFullBackupStartHourFullBackupWindowInHoursLogBackupFrequencyInMinutes はサポートしていません。SQL Server 2014 does not support the following settings: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours, and LogBackupFrequencyInMinutes. これらの設定を SQL Server 2014 仮想マシンで構成しようとした場合、エラーは発生しませんが、設定は適用されません。If you attempt to configure these settings on a SQL Server 2014 virtual machine, there is no error, but the settings do not get applied. これらの設定を SQL Server 2016 仮想マシンで使用したい場合は、「SQL Server 2016 Azure Virtual Machines の自動バックアップ v2」を参照してください。If you want to use these settings on a SQL Server 2016 virtual machine, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

暗号化を有効にするには、EnableEncryption パラメーターと、CertificatePassword パラメーターのパスワード (セキュリティで保護された文字列) を渡すように、前のスクリプトを変更します。To enable encryption, modify the previous script to pass the EnableEncryption parameter along with a password (secure string) for the CertificatePassword parameter. 次のスクリプトでは、前の例の自動バックアップ設定を有効にし、暗号化を追加します。The following script enables the Automated Backup settings in the previous example and adds encryption.

$password = "P@ssw0rd"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -EnableEncryption -CertificatePassword $encryptionpassword `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

設定が適用されたことを確認するには、自動バックアップの構成を確認しますTo confirm your settings are applied, verify the Automated Backup configuration.

自動バックアップを無効にするDisable Automated Backup

自動バックアップを無効にするには、New-AzVMSqlServerAutoBackupConfig コマンドの -Enable パラメーターを指定せずに、同じスクリプトを実行します。To disable Automated Backup, run the same script without the -Enable parameter to the New-AzVMSqlServerAutoBackupConfig command. -Enable パラメーターがない場合は、機能を無効にするコマンドが伝えられます。The absence of the -Enable parameter signals the command to disable the feature. インストールと同様に、自動バックアップの無効化には数分かかる場合があります。As with installation, it can take several minutes to disable Automated Backup.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

サンプル スクリプトExample script

次のスクリプトでは、お使いの VM で自動バックアップを有効にして構成するようカスタマイズできる変数のセットを提供しています。The following script provides a set of variables that you can customize to enable and configure Automated Backup for your VM. 場合によっては、要件に基づきスクリプトをカスタマイズする必要があるかもしれません。In your case, you might need to customize the script based on your requirements. たとえば、システム データベースのバックアップを無効にしたり、暗号化を有効にする場合は変更が必要です。For example, you would have to make changes if you wanted to disable the backup of system databases or enable encryption.

$vmname = "yourvmname"
$resourcegroupname = "vmresourcegroupname"
$region = “Azure region name such as EASTUS2”
$storage_accountname = “storageaccountname”
$storage_resourcegroupname = $resourcegroupname
$retentionperiod = 10

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL IaaS Extension

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -Location $region

# Creates/use a storage account to store the backups

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $storage_resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Configure Automated Backup settings

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays $retentionperiod -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

# Apply the Automated Backup settings to the VM

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

監視Monitoring

SQL Server 2014 での Automated Backup の監視には、大きく 2 つの選択肢があります。To monitor Automated Backup on SQL Server 2014, you have two main options. 自動バックアップでは SQL Server マネージド バックアップ機能を使用するため、この両方に同じ監視手法が適用されます。Because Automated Backup uses the SQL Server Managed Backup feature, the same monitoring techniques apply to both.

最初に msdb.smart_admin.sp_get_backup_diagnostics を呼び出すことによって状態をポーリングできます。First, you can poll the status by calling msdb.smart_admin.sp_get_backup_diagnostics. あるいはmsdb.smart_admin.fn_get_health_status テーブル値関数でクエリを実行します。Or query the msdb.smart_admin.fn_get_health_status table valued function.

注意

SQL Server 2014 における Managed Backup のスキーマは msdb.smart_admin です。The schema for Managed Backup in SQL Server 2014 is msdb.smart_admin. SQL Server 2016 では、このスキーマは msdb.managed_backup になっており、リファレンスのトピックでは、この新しいスキーマが使用されています。In SQL Server 2016 this changed to msdb.managed_backup, and the reference topics use this newer schema. ただし、SQL Server 2014 の場合は、すべての Managed Backup オブジェクトに対して引き続き smart_admin スキーマを利用する必要があります。But for SQL Server 2014, you must continue to use the smart_admin schema for all Managed Backup objects.

もう 1 つの選択肢は、組み込みのデータベース メイル機能を通知に利用する方法です。Another option is to take advantage of the built-in Database Mail feature for notifications.

  1. msdb.smart_admin.sp_set_parameter ストアド プロシージャを呼び出して、SSMBackup2WANotificationEmailIds パラメーターに電子メール アドレスを設定します。Call the msdb.smart_admin.sp_set_parameter stored procedure to assign an email address to the SSMBackup2WANotificationEmailIds parameter.
  2. SendGrid が Azure VM から電子メールを送信できるように設定します。Enable SendGrid to send the emails from the Azure VM.
  3. SMTP サーバーとユーザー名を使用してデータベース メールを構成します。Use the SMTP server and user name to configure Database Mail. データベース メールは、SQL Server Management Studio または Transact-SQL コマンドで構成できます。You can configure Database Mail in SQL Server Management Studio or with Transact-SQL commands. 詳細については、「データベース メール」を参照してください。For more information, see Database Mail.
  4. データベース メールを使用するように SQL Server エージェントを構成しますConfigure SQL Server Agent to use Database Mail.
  5. SMTP ポートがローカルの VM ファイアウォールと、その VM のネットワーク セキュリティ グループの両方で許可されていることを確認します。Verify that the SMTP port is allowed both through the local VM firewall and the network security group for the VM.

次の手順Next steps

自動バックアップでは、Azure VM でマネージド バックアップが構成されます。Automated Backup configures Managed Backup on Azure VMs. ですから、SQL Server 2014 でのマネージド バックアップに関するドキュメントを確認することが大切です。So it is important to review the documentation for Managed Backup on SQL Server 2014.

Azure VM の SQL Server のバックアップと復元に関するその他のガイダンスについては、「Azure Virtual Machines おける SQL Server のバックアップと復元」の記事をご覧ください。You can find additional backup and restore guidance for SQL Server on Azure VMs in the following article: Backup and Restore for SQL Server in Azure Virtual Machines.

その他の利用可能なオートメーション タスクについては、 SQL Server IaaS Agent 拡張機能に関するページをご覧ください。For information about other available automation tasks, see SQL Server IaaS Agent Extension.

Azure VM で SQL Server を実行する方法の詳細については、 Azure Virtual Machines における SQL Server の概要に関するページをご覧ください。For more information about running SQL Server on Azure VMs, see SQL Server on Azure Virtual Machines overview.