SQL Server のバックアップを確認する
SQL Server をバックアップするには、次のようないくつかの方法があります。
- 直接アタッチされた Azure ディスク上に従来の SQL Server バックアップを実行する。 この方法には、システムの更新や、既存の SAP システムのコピーとしての新しいシステムの蓄積に向けて、そのバックアップを迅速に利用できるという利点があります。 また、よく知られた方法でもあり、オンプレミスのシナリオで多くのケースに適用されます。 その一方で、長期的なバックアップ ソリューションを実装する必要もあります。 Azure Backup サービスか、バックアップに関するアクセス権と保持の管理を含む別のサードパーティ製のバックアップおよび回復ツールのいずれかを使う必要があります。
- URL への SQL Server バックアップ。 SQL Server 2012 CU4 から、ネイティブ SQL Server バックアップでは、Azure Storage の URL をその保存先として指定できます。
- Azure Virtual Machines の自動バックアップ v2。 このソリューションでは、SQL Server IaaS エージェント拡張機能を使用し、SQL Server 2016、2017 の Standard、Enterprise、または Developer エディションを実行している Azure 仮想マシン上の既存および新規のすべてのデータベースに対する、Azure Storage へのマネージド バックアップが自動的に構成されます。
- Azure Virtual Machines での SQL Server バックアップ。 このソリューションでは、AzureBackupWindowsWorkload 仮想マシン拡張機能を使用します。これは、SQL ネイティブ API を使用して SQL データベースを Azure Site Recovery コンテナーにバックアップします。
- Azure BLOB ストレージ内のデータベース ファイルのファイル スナップショット バックアップ。 この方法は、SQL Server のデータおよびログ ファイルが Azure BLOB ストレージ上にある場合にのみ機能します。 SQL Server ファイル スナップショット バックアップでは、Azure スナップショットを使って、Azure Blob Storage サービスを使って格納したデータベース ファイルのバックアップと復元をほぼ瞬時に行えます。 この機能を使うと、バックアップと復元のポリシーを簡素化できます。また、特定の時点への復元がサポートされています。 この機能は、SQL Server 2016 以降で使用できます。
URL への SQL Server のバックアップ
このプロセスでの最初の手順は、Azure サブスクリプション内で Microsoft Azure Storage アカウントを作成することです。 SQL Server では、Microsoft Azure Storage アカウントの名前とアクセス キー値を使用して認証し、Microsoft Azure BLOB ストレージ サービスに対して BLOB の書き込みと読み取りを実行することも、特定のコンテナーで生成された Shared Access Signature トークンを使用して読み取りと書き込み権限を付与することもできます。 この認証情報は、SQL Server 資格情報に格納され、バックアップまたは復元操作中に使用されます。
Microsoft Azure BLOB ストレージ サービスに格納できる BLOB には、ブロック BLOB とページ BLOB の 2 種類があります。 SQL Server バックアップは、使用する Transact-SQL 構文に応じて、いずれかの BLOB タイプを使用できます。ストレージ キーを資格情報で使用する場合は、ページ BLOB が使用されます。Shared Access Signature を使用する場合は、ブロック BLOB が使用されます。
ブロック BLOB へのバックアップは、SQL Server 2016 またはそれ以降のバージョンでのみ使用できます。 SQL Server 2016 以降のバージョンを実行している場合、ページ BLOB ではなくブロック BLOB にバックアップすることをお勧めします。 主な理由は次のとおりです。
- BLOB アクセスを承認する方法としては、ストレージ キーよりも Shared Access Signature の方が安全です。
- 複数のブロック BLOB にバックアップして、バックアップと復元のパフォーマンスを向上させ、より大きなデータベース バックアップに対応できます。
- ブロック BLOB はページ BLOB よりも安価です。
ブロック BLOB にバックアップする場合、バックアップの最大サイズは約 12.8 TB になります。
制限事項
- Premium Storage へのバックアップはサポートされていません。
- SQL Server では、ページ BLOB でサポートされる最大バックアップ サイズが 1 TB に制限されます。 ブロック BLOB を使ってサポートされる最大バックアップ サイズは、約 200 GB (50,000 ブロック * 4 MB MAXTRANSFERSIZE) に制限されます。 ブロック BLOB では、大幅に大きなバックアップ サイズ (最大 12.8 TB) をサポートするために、ストライピングがサポートされています。
- TSQL、SMO、PowerShell コマンドレット、SQL Server Management Studio のバックアップと復元ウィザードを使用して、BACKUP ステートメントや RESTORE ステートメントを実行できます。
- 論理デバイス名の作成はサポートされていません。 そのため、sp_dumpdevice を使用して、または SQL Server Management Studio を通じて URL をバックアップ デバイスとして追加することはサポートされていません。
- 既存のバックアップ BLOB への追加はサポートされていません。 既存の BLOB へのバックアップは WITH FORMAT オプションを使用した場合にのみ上書きできます。 ただし、ファイル スナップショット バックアップを使用する場合 (WITH FILE_SNAPSHOT 引数を使用)、元のファイル スナップショット バックアップで作成されたファイル スナップショットが孤立したまま残されるのを避けるために、WITH FORMAT 引数は使用できません。
- 1 回のバックアップ操作での複数の BLOB へのバックアップは、ブロック BLOB を使用し、SQL 資格情報のストレージ アカウント キーではなく、Shared Access Signature (SAS) トークンを使用する場合にのみサポートされます。
- BLOCKSIZE の指定は、ページ BLOB ではサポートされていません。
- ページ BLOB に対して MAXTRANSFERSIZE を指定することはサポートされていません。
- backupset オプション (RETAINDAYS と EXPIREDATE) を指定することはサポートされていません。
- SQL Server では、バックアップ デバイス名に最大 259 文字の制限があります。 BACKUP TO URL では、URL の指定に使用する必須要素に 'https://.blob.core.windows.net//.bak ' の 36 文字が使用されるため、アカウント、コンテナー、および BLOB の名前は残りの 223 文字で構成します。
Note
この記事の執筆時点の SAP Software Provisioning Manager (SWPM) の最新バージョンでは、データ ファイルを Azure BLOB に直接作成することはサポートされていません。 ただし、SAPinst の実行前にターゲットの SAP データベースを作成した場合は、インストーラーによってデータベースが検出され、正常にインストールされます。 実質的には、この方法を使用するには、SAPinst を実行する前に、BLOB にデータ ファイルを含むターゲットの SAP データベースを作成する必要があります。
Azure Virtual Machines の自動バックアップ v2
自動バックアップは、Azure の Windows 仮想マシンで実行されている SQL Server Standard および Enterprise エディションの自動バックアップ サービスを提供します。 このサービスは、Azure portal で SQL Server Windows 仮想マシン イメージに自動的にインストールされる SQL Server IaaS Agent 拡張機能によって提供されます。 SQL Server がインストールされた独自の OS イメージをデプロイする場合は、仮想マシン拡張機能を個別にインストールする必要があります。 この方法の機能の詳細については、以下を参照してください。
理論上のバックアップ サイズの制限は 12 TB です。 複数の BLOB が並行して書き込まれるため、100 MB/秒を超えるスループットが期待できます。
Azure Virtual Machines での SQL Server のバックアップ
このバックアップ方法では、SQL Server VSS または VDI インターフェイスを使って、バックアップをターゲットの場所 (サードパーティ製のバックアップ ツールと同じ) にストリーミングします。 この場合、対象の場所は Azure Recovery Service コンテナーです。 一元的なバックアップ構成、監視、管理の多くの利点が追加される、このバックアップ方法の詳細については、Azure Virtual Machines での SQL Server バックアップに関するページを参照してください
サード パーティのバックアップ ソリューション
一部の SAP のお客様については、Azure で実行している SAP ランドスケープの一環として新しい完全なバックアップ ソリューションを最初から導入し直すことは不可能でした。 その結果、既存のバックアップ ソリューションを使用して Azure に拡張する必要がありました。 通常、この分野の主要ベンダーの大部分では、既存のバックアップ ソリューションを Azure に拡張できました。