Applies to:SQL Server on Azure VM
自動バックアップでは、SQL Server 2016 以降の Standard、Enterprise、または Developer エディションを開始している Azure VM での SQL Server 上のすべての既存および新規データベースのための Microsoft Azure へのマネージド バックアップが自動的に構成されます。 これにより、永続的な Azure Blob Storage を利用する日常的なデータベースのバックアップを構成できます。
Prerequisites
Azure VM での SQL Server に自動バックアップを使用するには、次のものが必要です。
- SQL IaaS Agent 拡張機能に登録された Azure VM での SQL Server。
- Windows Server 2012 R2 以降。
- SQL Server 2016 以降。 SQL Server 2014 については、SQL Server 2014 の自動バックアップに関するページを参照してください。
-
Database configuration:
- Target user databases must use the full recovery model. システム データベースでは、完全復旧モデルを使う必要はありません。 しかし、
model
またはmsdb
のログのバックアップの作成を必要とする場合は、完全復旧モデルを使用する必要があります。 バックアップに対する完全復旧モデルの影響の詳細については、「完全復旧モデルでのバックアップ」を参照してください。 - SQL Server VM は SQL IaaS Agent 拡張機能に登録されており、自動バックアップ機能が有効になっています。 自動バックアップは拡張機能に依存するため、自動バックアップは、既定のインスタンスまたは単一の名前付きインスタンスからのターゲット データベースでのみサポートされます。 既定のインスタンスがなく、複数の名前付きインスタンスがある場合、SQL IaaS Agent 拡張機能は失敗し、自動バックアップは行われません。
- If you're running automated backups on a secondary Always On availability group replica, the replica must be Readable for the backups to succeed.
- Target user databases must use the full recovery model. システム データベースでは、完全復旧モデルを使う必要はありません。 しかし、
Settings
自動バックアップで構成できるオプションを次の表に示します。 実際の構成手順は、Azure ポータルと Azure Windows PowerShell コマンドのどちらを使用するかによって異なります。 Automated Backup uses backup compression by default and it can't be disabled.
Basic Settings
Setting | Range (Default) | Description |
---|---|---|
Automated Backup | Enable/Disable (Disabled) | SQL Server 2016 以降の Developer、Standard、または Enterprise を実行している Azure VM の自動バックアップを有効または無効にします。 |
Retention Period | 1 から 90 日 (90 日) | サービスが msdb のバックアップ メタデータを保持する日数。 バックアップの保持期間が期限切れになると、メタデータは msdb から削除されますが、ファイルはストレージ コンテナーから削除されません。 ストレージ アカウントのライフサイクル管理ポリシーを使用して、ビジネス ニーズに応じてバックアップ保持期間とコスト管理のバランスを取ることができます。 |
Storage Account | Azure ストレージ アカウント | 自動バックアップのファイルを BLOB ストレージに保存するために使用する Azure ストレージ アカウント。 この場所にコンテナーが作成され、すべてのバックアップ ファイルが保存されます。 バックアップ ファイルの名前付け規則には、日付、時刻、およびデータベース GUID が含まれます。 |
Encryption | Enable/Disable (Disabled) | バックアップ暗号化を有効または無効にします。 バックアップ暗号化を有効にすると、バックアップの復元に使用する証明書は、指定されたストレージ アカウントの同じ automaticbackup コンテナー内に、同じ名前付け規則を使用して配置されます。 パスワードが変更された場合、そのパスワードを使用して新しい証明書が生成されますが、以前のバックアップの復元には古い証明書が引き続き使用されます。 |
Password | Password text | 暗号化キーのパスワード。 このパスワードは、暗号化を有効にした場合にのみ必須となります。 暗号化されたバックアップを復元するには、バックアップの作成時に使用した正しいパスワードおよび関連する証明書が必要です。 |
Advanced Settings
Setting | Range (Default) | Description |
---|---|---|
システム データベースのバックアップ | Enable/Disable (Disabled) | 有効にすると、この機能によりシステム データベース (master 、msdb 、および model ) もバックアップされます。
msdb および model データベースについては、ログのバックアップを作成する場合、完全復旧モデルであることを確認します。
master のログ バックアップは作成されません。また、tempdb のバックアップも作成されません。 |
Backup Schedule | Manual/Automated (Automated) | 既定では、バックアップ スケジュールはログの増加に基づいて自動的に決定されます。 手動のバックアップ スケジュールでは、ユーザーはバックアップの時間枠を指定することができます。 この場合、バックアップは指定された頻度で、特定の日の指定された時間枠内でのみ行われます。 |
完全バックアップの頻度 | Daily/Weekly | 完全バックアップの頻度。 どちらの場合も、完全バックアップは次のスケジュールされた時間枠内に開始されます。 毎週を選択すると、すべてのデータベースが正常にバックアップされるまで、バックアップは数日にわたることがあります。 |
完全バックアップの開始時刻 | 00:00 – 23:00 (01:00) | 完全バックアップが行われる日の開始時刻。 |
完全バックアップの時間枠 | 1 – 23 時間 (1 時間) | 完全バックアップが行われる日の時間枠。 |
ログのバックアップの頻度 | 5 – 60 分 (60 分) | ログのバックアップの頻度。 |
Note
自動バックアップ スケジュールでは、ログの増加に基づいてバックアップが実行されます。 データベースが単純復旧モードのときに自動バックアップを使用することはお勧めしません。
完全バックアップの頻度を理解する
毎日および毎週の完全バックアップの違いについて理解することは重要です。 ここでは、次の 2 つのシナリオを例に説明します。
シナリオ 1:毎週のバックアップ
いくつかの大規模なデータベースを含む SQL Server VM が存在します。
月曜日に、次の設定で自動バックアップを有効にします。
- Backup schedule: Manual
- Full backup frequency: Weekly
- Full backup start time: 01:00
- Full backup time window: 1 hour
これは、次の利用可能なバックアップの枠が火曜日の午前 1 時からの 1 時間であることを意味します。 その時点で、自動バックアップはデータベースを 1 つずつバックアップすることを開始します。 このシナリオでは、データベースが大規模なため、完全バックアップでは最初のいくつかのデータベースのバックアップが完了します。 ただし、1 時間後にすべてのデータベースがバックアップされたわけではありません。
この場合、自動バックアップによって、次の日、つまり水曜日の午前 1 時からの 1 時間で、残りのデータベースがバックアップされます。 この時にバックアップされていないデータベースがある場合は、次の日の同じ時刻にもう一度バックアップが試みられます。 これは、すべてのデータベースが正常にバックアップされるまで続きます。
翌週の火曜日になると、自動バックアップは再びすべてのデータベースのバックアップを開始します。
このシナリオは、自動バックアップが指定された時間枠内でのみ動作し、各データベースは 週 1 回バックアップされることを示しています。 また、すべてのバックアップを 1 日で完了できない場合は、バックアップが数日にまたがる可能性があることを示しています。
シナリオ 2: 毎日のバックアップ
いくつかの大規模なデータベースを含む SQL Server VM が存在します。
月曜日に、次の設定で自動バックアップを有効にします。
- バックアップ スケジュール: 手動
- 完全バックアップの頻度: 毎日
- 完全バックアップの開始時刻: 22:00
- 完全バックアップの時間枠: 6 時間
これは、次の利用可能なバックアップの枠が月曜日の午後 10 時からの 6 時間であることを意味します。 その時点で、自動バックアップはデータベースを 1 つずつバックアップすることを開始します。
その後、火曜日の午後 10 時からの 6 時間、すべてのデータベースの完全バックアップが再び開始されます。
Important
バックアップは各間隔で順番に行われます。 多数のデータベースがあるインスタンスの場合は、すべてのバックアップに対応する十分な時間でバックアップ間隔をスケジュールします。 指定された間隔内にバックアップを完了できない場合、一部のバックアップがスキップされ、単一データベースのバックアップ間の時間が構成されたバックアップ間隔時間より長くなり、復元ポイントの目標 (RPO) に悪影響を与える可能性があります。
新しい VM を構成する
Resource Manager デプロイ モデルで新しい SQL Server 2016 以降のマシンを作成するときに自動バックアップを構成するには、Azure portal を使用します。
[SQL Server の設定] タブで、[自動バックアップ] の [有効にする] を選択します。 自動バックアップを有効にするときは、以下の設定を構成できます。
- バックアップの保持期間 (最大 90 日間)
- バックアップに使用するストレージ アカウントとストレージ コンテナー
- バックアップの暗号化オプションとパスワード
- システム データベースのバックアップ
- バックアップ スケジュールの構成
To encrypt the backup, select Enable. Then specify the Password. Azure は、バックアップを暗号化するための証明書を作成し、指定されたパスワードを使用してその証明書を保護します。
[ストレージ コンテナーを選んでください] を選んで、バックアップを格納するコンテナーを指定します。
By default the schedule is set automatically, but you can create your own schedule by selecting Manual, which allows you to configure the backup frequency, backup time window, and the log backup frequency in minutes.
The following Azure portal screenshot shows the Automated Backup settings when you create a new SQL Server VM:
既存の VM を構成する
既存の SQL Server 仮想マシンの場合、SQL 仮想マシン リソースに移動してから [バックアップ] を選択し、自動バックアップを構成します。
Select Enable to configure your Automated Backup settings.
保持期間 (最大 90 日間)、バックアップを格納するストレージ アカウントのコンテナー、暗号化、バックアップ スケジュールを構成できます。 既定では、スケジュールは自動設定されます。
If you want to set your own backup schedule, choose Manual and configure the backup frequency, whether or not you want system databases backed up, and the transaction log backup interval in minutes.
When finished, select the Apply button on the bottom of the Backups settings page to save your changes.
自動バックアップを初めて有効にすると、Azure によりバックグラウンドで SQL Server IaaS Agent が構成されます。 この間、自動バックアップが構成されていることは、Azure ポータルに示されない可能性があります。 エージェントがインストールされ、構成されるまで数分待ちます。 その後、Azure ポータルに新しい設定が反映されます。
PowerShell での構成
PowerShell を使用して自動バックアップを構成できます。 開始する前に、次の操作を行う必要があります。
- 最新の Azure PowerShell をダウンロードしてインストールします。
- Open Windows PowerShell and associate it with your account with the Connect-AzAccount command.
Note
この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
SQL Server IaaS 拡張機能のインストール
SQL Server 仮想マシンを Azure Portal からプロビジョニングした場合は、SQL Server IaaS 拡張機能は既にインストールされています。 You can determine whether it's installed for your VM by calling Get-AzVM command and examining the Extensions property.
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions
If the SQL Server IaaS Agent extension is installed, you should see it listed as "SqlIaaSAgent" or "SQLIaaSExtension." ProvisioningState for the extension should also show "Succeeded."
インストールされていない場合、またはプロビジョニングに失敗した場合は、次のコマンドを使ってインストールできます。 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 "2.0" -Location $region
現在の設定の確認
プロビジョニング中に自動バックアップを有効にした場合は、PowerShell を使って現在の構成を確認することができます。 Run the Get-AzVMSqlServerExtension command and examine the AutoBackupSettings property:
(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings
次のような出力が表示されます。
Enable : True
EnableEncryption : False
RetentionPeriod : 30
StorageUrl : https://test.blob.core.windows.net/
StorageAccessKey :
Password :
BackupSystemDbs : False
BackupScheduleType : Manual
FullBackupFrequency : WEEKLY
FullBackupStartTime : 2
FullBackupWindowHours : 2
LogBackupFrequency : 60
If your output shows that Enable is set to False, then you have to enable Automated Backup. 自動バックアップは同じ方法で有効にし、構成できます。 詳細については、次のセクションを参照してください。
Note
変更直後に設定を確認すると、以前の構成値が表示されることがあります。 変更が適用されていることを確認するには、数分経ってから設定を再び確認します。
自動バックアップの構成
PowerShell を使用すると、自動バックアップを有効にできるほか、自動バックアップの構成や動作をいつでも変更することができます。
最初に、バックアップ ファイル用のストレージ アカウントを選択または作成します。 次のスクリプトでは、ストレージ アカウントが選ばれるか、存在しない場合は作成されます。
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
{ $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
Note
自動バックアップでは Premium Storage でのバックアップの保存をサポートしていませんが、Premium Storage を使用する VM ディスクからバックアップを取ることができます。
バックアップ用のストレージ アカウントでカスタム コンテナーを使用する場合は、次のスクリプトを使用してコンテナーをチェックするか、存在しない場合はコンテナーを作成します。
$storage_container = "backupcontainer"
New-AzStorageContainer -Name $storage_container -Context $storage.Context
if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
else `
{ `
Write-Warning "Container $storage_container already exists." `
}
次のスクリプトを使用して、ストレージ アカウントのアクセス キーを取得します。
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname -Name $storage_accountname)[0].value
Then use the Update-AzSqlVM command to enable and configure the Automated Backup settings to store backups in the Azure storage account. この例では、バックアップは 10 日間保持されるよう設定されています。 システム データベースのバックアップが有効になっています。 完全バックアップは、毎週日曜日の 20:00 からの 2 時間でスケジュールされています。 ログのバックアップは 30 分ごとにスケジュールされています。
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
SQL Server IaaS エージェントのインストールと構成には数分かかる場合があります。
To enable encryption, modify the previous script to pass the -AutoBackupSettingEnableEncryption parameter along with a password (secure string) for the -AutoBackupSettingPassword parameter. 次のスクリプトでは、前の例の自動バックアップ設定を有効にし、暗号化を追加します。
$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
設定が適用されたことを確認するには、自動バックアップの構成を確認します。
自動バックアップを無効にする
To disable Automated Backup, run the same script with the -AutoBackupSettingEnable parameter set to $false in the Update-AzSqlVM command. By setting the value to $false the feature is disabled. インストールと同様に、自動バックアップの無効化には数分かかる場合があります。
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false
Example script
次のスクリプトでは、お使いの VM で自動バックアップを有効にして構成するようカスタマイズできる変数のセットを提供しています。 場合によっては、要件に基づきスクリプトをカスタマイズする必要があるかもしれません。 たとえば、システム データベースのバックアップを無効にしたり、暗号化を有効にする場合は変更が必要です。
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"
# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -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 $resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
# Creates/uses a custom storage account container
$storage_container = "yourbackupcontainer"
if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
else `
{ `
Write-Warning "Container $storage_container already exists." `
}
# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname -Name $storage_accountname)[0].value
# Configure Automated Backup settings
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
暗号化証明書を使用したバックアップをする
バックアップを暗号化する場合は、暗号化証明書が生成され、バックアップと同じストレージ アカウントに保存されます。 このシナリオでは、バックアップの暗号化と暗号化解除に用いられる暗号化証明書を保護するために使用されるパスワードも入力する必要があります。 これにより、この機能の構成の範囲を超えたバックアップについて心配する必要はありません。また、バックアップがセキュリティで保護されていることを信頼できます。
バックアップ暗号化が有効になっている場合は、データベースの復元性を確保するために、暗号化証明書が正常に作成およびアップロードされたかどうかを確かめることを強くお勧めします。 これを行うには、データベースをすぐに作成し、暗号化証明書とデータを新しく作成されたコンテナーに適切にバックアップされたことを確認します。 これにより、すべてが正しく構成され、異常が発生しなかったことが示されます。
何らかの理由で証明書のアップロードに失敗した場合は、証明書マネージャーを使用して証明書をエクスポートして保存できます。 ただし、同じ VM に保存する必要はありません。これは、VM がダウンしているときに確実に証明書にアクセスできないようにするためです。 自動バックアップ構成を変更または作成した後に証明書が適切にバックアップされたかどうかを確認するには、VM のイベント ログをチェックし、バックアップが失敗した場合は、こちらのエラー メッセージが表示されます:
証明書が正しくバックアップされている場合は、イベント ログに次のメッセージが表示されます:
一般的な方法として、バックアップが正常かどうかを随時チェックすることをお勧めします。 バックアップを復元できるようにするには、次の操作を行う必要があります:
暗号化証明書がバックアップされており、パスワードを覚えていることを確認します。 これを行わないと、バックアップの暗号化を解除して復元することはできません。 何らかの理由で証明書が適切にバックアップされていない場合は、次の T-SQL クエリを実行して手動でこれを行うことができます:
BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password> BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
バックアップ ファイルが少なくとも 1 個の完全バックアップでアップロードされていることを確認します。 間違いが発生するため、VM を削除する前に、または VM が破損した場合に備えて、常に少なくとも 1 個は完全バックアップがあることを確認する必要があります。そうすればデータに引き続きアクセスできます。 VM のデータ ディスクを削除する前に、ストレージ内のバックアップが安全で回復可能であることを確認する必要があります。
Monitoring
SQL Server 2016 以降で自動バックアップを監視するには、主なオプションが 2 つあります。 自動バックアップでは SQL Server マネージド バックアップ機能を使用するため、この両方に同じ監視手法が適用されます。
First, you can poll the status by calling msdb.managed_backup.sp_get_backup_diagnostics. Or query the msdb.managed_backup.fn_get_health_status table-valued function.
もう 1 つのオプションは、通知に組み込みのデータベース メール機能を利用する方法です。
- Call the msdb.managed_backup.sp_set_parameter stored procedure to assign an email address to the SSMBackup2WANotificationEmailIds parameter.
- Enable SendGrid to send the emails from the Azure VM.
- SMTP サーバーとユーザー名を使用してデータベース メールを構成します。 データベース メールは、SQL Server Management Studio または Transact-SQL コマンドで構成できます。 For more information, see Database Mail.
- データベース メールを使用するように SQL Server エージェントを構成します。
- SMTP ポートがローカルの VM ファイアウォールと、その VM のネットワーク セキュリティ グループの両方で許可されていることを確認します。
Known issues
自動バックアップ機能を使うときは、以下の既知の問題を考慮してください。
Azure portal で自動バックアップを有効にできない
次の表は、Azure portal から自動バックアップを有効にするときに問題が発生した場合に考えられる解決策です。
Symptom | Solution |
---|---|
IaaS 拡張機能が失敗状態の場合、自動バックアップを無効にできない | SQL IaaS Agent 拡張機能が失敗状態の場合は、それを修復します。 |
数百のデータベースがある場合、自動バックアップを有効にできない | これは、SQL IaaS Agent 拡張機能に関する既知の制限です。 To work around this issue, you can enable Managed Backup directly instead of using the SQL IaaS Agent extension to configure Automated Backup. |
メタデータの問題により、自動バックアップを有効にできない | SQL IaaS Agent サービスを停止します。 次の T-SQL コマンドを実行します: use msdb exec autoadmin_metadata_delete 。 SQL IaaS Agent サービスを開始し、Azure portal から自動バックアップをもう一度有効にしてみます。 |
FCI の自動バックアップを有効にする | プライベート エンドポイントを使うバックアップはサポートされていません。 バックアップには、完全なストレージ アカウント URI を使ってください。 |
自動バックアップを使用して複数の SQL インスタンスをバックアップする | 現在、自動バックアップでサポートされている SQL Server インスタンスは 1 つのみです。 複数の名前付きインスタンスと、既定のインスタンスがある場合、自動バックアップは既定のインスタンスで動作します。 複数の名前付きインスタンスがあり、既定のインスタンスがない場合、自動バックアップを有効にすると失敗します。 |
アカウントとアクセス許可が原因で、自動バックアップを有効にできない | 次の点を確認します。 - SQL Server エージェントが実行されています。 - The NT Service\SqlIaaSExtensionQuery account has proper permissions for the Automated Backup feature both within SQL Server, and also for the SQL virtual machines resource in the Azure portal. - The SA account hasn't been renamed, though disabling it is acceptable. |
SQL 2016 以降の自動バックアップが失敗する | ストレージ アカウントで [Allow Blob Public Access] (BLOB パブリック アクセスを許可する) を有効にします。 これにより、既知の問題に対する一時的な回避策が提供されます。 |
自動バックアップまたはマネージド バックアップに関する一般的な問題
次の表は、自動バックアップを使うと発生する可能性のあるエラーと解決策の一覧です。
Symptom | Solution |
---|---|
ストレージ アカウントへの接続エラーやタイムアウト エラーが原因で、自動またはマネージド バックアップが失敗する | 仮想ネットワークのネットワーク セキュリティ グループ (NSG) と Windows ファイアウォールが、仮想マシン (VM) からポート 443 のストレージ アカウントへのアウトバウンド接続をブロックしていないことを調べます。 |
メモリや IO の負荷が原因で、自動またはマネージド バックアップが失敗する | See if you can increase the Max Server memory and/or resize the disk/VM if you're running out of IO/VM limits. 可用性グループを使っている場合は、バックアップをセカンダリ レプリカにオフロードすることを検討します。 |
サーバーの名前を変更した後に自動バックアップが失敗する | マシンのホスト名を変更した場合は、SQL Server 内のホスト名も変更する必要があります。 |
エラー: 操作は内部エラーのために失敗しました。 引数を空の文字列にすることはできません。\r\nパラメーター名: sas Token 後で再試行してください | これは、SQL Server エージェント サービスに正しい偽装アクセス許可が付与されていないことが原因である可能性があります。 この問題を解決するには、別のアカウントを使うように SQL Server エージェント サービスを変更します。 |
エラー: コンテナーの URL が無効であったため、Microsoft Azure への SQL Server マネージド バックアップでは、SQL Server インスタンスの既定のバックアップ設定を構成できません。 また、SAS 資格情報が無効である可能性もあります | このエラーは、多数のデータベースがある場合に発生する可能性があります。 Use Managed backup instead of Automated Backup. |
VM の再起動後に自動バックアップ ジョブが失敗した | SQL エージェント サービスが稼働していることを調べます。 |
マネージド バックアップが断続的に失敗する/エラー: 実行タイムアウトの期限切れ | This is a known issue fixed in CU18 for SQL Server 2019 and [KB4040376] for SQL Server 2014-2017. |
エラー: リモート サーバーがエラーを返しました: (403) 許可されていません | SQL IaaS Agent 拡張機能を修復します。 |
エラー 3202: ストレージ アカウントに書き込めませんでした: 13 (データが無効です) | ストレージ コンテナーの不変 BLOB ポリシーを削除し、ストレージ アカウントで TLS 1.0 以上を使うようにしてください。 |
エラー 3063: バックアップ ブロック BLOB デバイスに書き込みます。 デバイスで許可されているブロック数の上限に達しました。 | これは、Readable 構成が NO に設定されているセカンダリ Always On 可用性グループ レプリカから自動バックアップを実行している場合に発生する可能性があります。 セカンダリ レプリカで自動バックアップを機能させるには、レプリカを読み取り可能にする必要があります。 |
特定の日のバックアップをスケジュールできません | SQL Server 2014 の自動バックアップを使用している場合、これは想定されることです。 SQL Server 2016 以降では、バックアップ スケジュールを構成できます。 |
リモート サーバーに接続するときの 403 禁止エラー | これを解決するには: - ネットワーク セキュリティを確認する: ネットワーク セキュリティ グループ (NSG) で、必要なポート (特に HTTPS のポート 443 ) のトラフィックが許可されていることを確認します。 - IP アドレスの確認: ストレージ アカウントへのアクセスが必要な VM の IP アドレスが、ストレージ アカウントの許可リストに追加されていることを確認します。 - DNS 設定を確認する: ストレージ アカウント名を解決するように DNS 設定が正しく構成されていることを確認します。 |
自動バックアップまたはマネージド バックアップを無効にできない
次の表は、Azure portal から自動バックアップを無効にするときに問題が発生した場合に考えられる解決策です。
Symptom | Solution |
---|---|
IaaS 拡張機能が失敗状態の場合に、自動バックアップの無効化が失敗する | SQL IaaS Agent 拡張機能が失敗状態の場合は、それを修復します。 |
メタデータの問題が原因で、自動バックアップの無効化が失敗する | SQL IaaS Agent サービスを停止します。 次の T-SQL コマンドを実行します: use msdb exec autoadmin_metadata_delete 。 SQL IaaS Agent サービスを開始し、Azure portal から自動バックアップを無効にしてみます。 |
アカウントとアクセス許可が原因で、自動バックアップを無効にできない | 次の点を確認します。 - SQL Server エージェントが実行されています。 - The NT Service\SqlIaaSExtensionQuery account has proper permissions for the Automated Backup feature both within SQL Server, and also for the SQL virtual machines resource in the Azure portal. - The SA account hasn't been renamed, though disabling it is acceptable. |
SQL Server バックアップを作成しているサービスまたはアプリケーションを確認したい
- In SQL Server Management Studio (SSMS) Object Explorer, right-click the database > Select Reports>Standard Reports>Backup and Restore Events. レポートでは、 [正常に実行されたバックアップ操作数] セクションを展開してバックアップ履歴を表示できます。
- If you see multiple backups on Azure or to a virtual device, check if you're using Azure Backup to back up individual SQL databases or taking a virtual machine snapshot to a virtual device, which uses the
NT Authority/SYSTEM
account. If you're not, check the Windows Services console (services.msc) to identify any third-party applications which might be taking backups.
Next steps
自動バックアップでは、Azure VM でマネージド バックアップが構成されます。 そのため、マネージド バックアップに関するドキュメントを見直して、動作と影響を理解することが重要です。
Azure VM の SQL Server のバックアップと復元に関するその他のガイダンスについては、Azure Virtual Machines での SQL Server のバックアップと復元に関する記事を参照してください。
その他の利用可能なオートメーション タスクについては、 SQL Server IaaS Agent 拡張機能に関するページをご覧ください。
Azure VM で SQL Server を実行する方法の詳細については、Azure 仮想マシンにおける SQL Server の概要に関するページをご覧ください。