このセクションでは、キャプチャした Microsoft SQL Server をマウントする方法について説明します。
- インスタンス
- AlwaysOn 可用性グループのプライマリ データベース
- 整合性グループ
- 整合性グループの個々のメンバー
- システムデータベース
- ユーザーデータベース
キャプチャした Microsoft SQL Server データをマウントする
標準マウントを使用すると、Microsoft SQL Server データを別のサーバーにマウントして、別の Microsoft SQL Server で取得して使用できます。キャプチャした Microsoft SQL データのみをマウントする手順は次のとおりです。
[App Manager] を開き、[アプリケーション リスト] に移動します。
SQL Server インスタンス、ユーザー データベース、システム データベース、クラスタ、または可用性グループを右クリックし、[アクセス] を選択します。フィルタを使用して、必要なデータベースを見つけます。
ランウェイ型の図で、マウントするバックアップを選択し、[マウント] を選択します。
必要に応じて、このマウントされたデータを明確に識別できるラベルを入力します。
[Mount Image] ダイアログの [Application Options] セクションで、[Create New Virtual Application] を選択しないでください。Microsoft SQL データを仮想データベースとしてマウントするには、SQL Server データベースを新しい仮想データベースとしてマウントするをご覧ください。
必要に応じて、[Mapping Options] と [Item Selection] のフィールドに入力します。
表示されるオプションは、選択したソースによって異なります。たとえば、VMware VM 上のデータベースには、[Map to all ESX hosts] オプションがあります。クラスタ化されたデータベースには、[Map to Cluster Nodes] オプションがあります。
[送信] をクリックします。マウントジョブが送信されます。
マウント オペレーションが成功したら、データベース サーバーにログオンし、マウントされたバックアップが [Active Mounts] で使用可能であることを確認します。
SQL Server データベースを新しい仮想データベースとしてマウントする
仮想アプリケーションのマウント オペレーションでは、キャプチャしたデータベースを仮想アプリケーションとしてマウントします。これにより、実際にデータを移動したり、データベースの新しいインスタンスを手動で構成したりすることなく、データベースを迅速にオンラインにできます。仮想アプリケーション マウントは、データベース、サーバー、ストレージの管理者による手動の介入なしに、本番環境データベースのコピーを作成して管理するという課題に対処します。
このセクションでは、キャプチャした Microsoft SQL Server データベースを仮想アプリケーションとしてマウントする方法について説明します。Microsoft SQL Server には、次のものをマウントできます。
- インスタンス
- システムデータベース
- ユーザーデータベース
- 整合性グループ
- 整合性グループの個々のメンバー
- AlwaysOn 可用性グループ内のデータベース
バックアップをマウントする前に、バックアップがマウントされているホストで iSCSI が構成されているか、VMware の NFS データストアが構成されていることを確認します。
SQL Server インスタンスにデータベースを追加せずに Microsoft SQL データファイルのみをマウントする場合は、キャプチャした Microsoft SQL データをマウントするをご覧ください。
破損したデータベースや削除されたデータベースの場合、SQL Server データベースを仮想アプリケーションとして元のサーバーにマウントすることは、データベースの復元を実行する効率的な代替手段です。
キャプチャした Microsoft SQL Server データベースを仮想アプリケーションとしてマウントするには、次の手順を実行します。
アプライアンス管理コンソールを開き、[App Manager] > [Applications] リストに移動します。
SQL Server インスタンス、ユーザー データベース、システム データベース、クラスタ、または可用性グループを右クリックし、[アクセス] を選択します。フィルタを使用して、必要なデータベースを見つけます。
バックアップのランウェイで、マウントするバックアップを選択します。右側で、[マウント] を選択します。左上のカレンダー ウィジェットを使用して、バックアップの範囲を絞り込むことができます。
[Application Options] セクションで、このマウントされたデータを明確に識別できるラベルを入力します(省略可)。
[Create New Virtual Application] を選択します。
データベースをログとともにキャプチャした場合、[App Options] ダイアログには、ログがキャプチャされた時期と頻度に基づいてログを特定の時点までロールするオプションが表示されます。
[SQL Server Instance Name] プルダウン リストから、新しいデータベースを追加する SQL Server インスタンスを選択します。必要なインスタンス名がプルダウンにない場合は、表示された欄に名前を手動で入力できます。
単一のデータベースをマウントする場合は、[SQL Server Database Name] フィールドに新しい仮想データベースの名前を入力します。
複数のデータベースをマウントする場合は、仮想データベースを含む新しい整合性グループの名前を [Name of Consistency Group] フィールドに入力します。
仮想アプリケーション マウントは新しい仮想データベースです。新しい仮想データベースを保護するには、[Manage New Application] を選択し、使用するテンプレートとプロファイルを選択します。
仮想アプリケーション マウントは新しいデータベースです。データベースのスナップショットは増分です。
仮想アプリケーションが [アプリケーション マネージャー] のアプリケーション リストに表示されます。
[Manage New Application] を選択しなかった場合は、保護されていないアプリケーションとして [アプリケーション マネージャー] に表示されます。他のアプリケーションと同様に保護できます。
SQL Server インスタンスにマウントされた仮想 SQL Server データベースは、インスタンスのユーザー データベースやシステム データベースとは別に保護されます。
Recover Database After Restore: データベースをオンラインにしてトランザクションを処理できる状態にする場合は、このオプションをオン(デフォルト)のままにしておきます。このオプションをオフにすると、データベースが復元中の状態のままになるため、追加のトランザクション ログのバックアップを手動で適用して、データベースを特定の時点にロール フォワードできます。
Recover User Logins: ポリシー オプションの [Backup SQL Server Logins] が有効になっている場合に、このオプションを選択すると、これらのログインがターゲット SQL Server インスタンスに復元されます。ドメイン アカウントの場合、ユーザー アカウントは、ターゲット インスタンスが同じドメイン内のサーバー上にある場合、またはソース SQL Server との信頼関係が確立されたドメイン内にある場合にのみ復元されます。SQL ローカル アカウントは常に復元されます。元のソース データベースにアクセスできるすべてのユーザーが新しい仮想データベースにアクセスできるようにする場合は、このオプションを使用します。
[ユーザー名とパスワード] フィールドに、必要に応じてユーザー名とパスワードを入力します。Backup and DR エージェントのアカウントに、マウント解除オペレーション中にデータベースを切断する権限や、トランザクション ログを適用する権限がない場合は、それらの権限を持つアカウントの認証情報をここに入力します。詳細については、Windows ユーザーに必要な SQL Server のロールをご覧ください。
新しい仮想データベースの復旧モデルを変更する場合は、[Recovery Model] を選択します。デフォルトでは、元のデータベースの復旧モデルが保持されます。
[Overwrite Existing Database] で、マウントされる新しいデータベースと同じ名前を持つターゲット サーバーまたはインスタンス上のデータベースを上書きするためのオプション([Yes]、[No]、[Only if it's Stale])を指定します。
[Mapping Options] で、[Mount Location] を入力できます。アプリケーションにボリュームが 1 つしかない場合は、ここでマウント ポイントのみを指定できます。アプリケーションに複数のボリュームがある場合は、次のことができます。
マウント場所を入力します。すべてのボリュームは、指定されたマウント ポイントで、連続したドライブ文字または番号付きディレクトリを使用して、指定されたマウント ポイントに自動的にマウントされます。
この欄を空白のままにし、[詳細オプション] で各ボリュームのマウント ポイントを手動で指定します。
[送信] をクリックします。ジョブが送信されます。
マウントジョブが完了したら、データベース サーバーにログオンし、マウントされたバックアップが [Active Mounts] で使用可能であることを確認します。
アクティブなマウントの管理
マウントを作成したら、[App Manager] > [Active Mounts] でバックアップを追跡できます。理想的には、バックアップを無期限にマウントしたままにしないでください。これは、マウントの作成元であるバックアップは、すべてのマウントが削除されるまで期限切れにならないためです。マウントされたバックアップの使用が完了したら、次のいずれかを行います。
- バックアップをマウント解除します。必要に応じて再マウントできます。バックアップが不要になったことが確実になったら、後でバックアップを削除できます。
- バックアップをマウント解除して削除します。これにより、マウントされたバックアップが削除されます。マウントのベースとなるバックアップは削除されません。
- バックアップを移行します。これは Microsoft SQL Server マウントにのみ適用されます。
暗号化された SQL Server データをマウントする
バックアップ / リカバリ アプライアンスは、暗号化された SQL Server データベースをキャプチャしますが、秘密鍵、暗号化証明書、パスワードはキャプチャしません。
このセクションでは、次のことを説明します。
SQL TDE が有効かどうかを判断する
SQL Server の暗号化のトラブルシューティング
SQL Server のマスターキー、暗号化証明書、パスワードの手順
暗号化された SQL Server データベースを既存の SQL Server データベースに復元する場合、秘密鍵、暗号化証明書、パスワードはすでに SQL Server インスタンスに存在し、復元オペレーションが完了すると、SQL Server データベースは想定どおりに動作します。
暗号化されたデータベースを仮想アプリケーションとしてマウントする場合、または暗号化された SQL Server データのみをマウントする場合は、暗号化されたデータベースまたはデータがマウントされる SQL Server インスタンスに次のものが必要です。
透過的データ暗号化(TDE)が有効
ソース SQL Server データベースの秘密鍵のコピー
ソース SQL Server データベースの暗号化証明書のコピー
ソース SQL Server データベースのパスワードを入力します。
手順については、SQL Server のマスターキー、暗号化証明書、パスワードの手順をご覧ください。
SQL Server TDE が有効になっているかどうかを確認する
SQL Server インスタンスで TDE が有効になっているかどうかを確認するには、Microsoft の SQL Server Management Studio のユーザー インターフェース(SSMS)を使用するか、手動クエリを使用してデータベースで暗号化が有効になっているかどうかを確認します。次に例を示します。
SELECT
DB_NAME(database_id)AS dbname,
encryption_state,
case encryption_state
WHEN 0 THEN 'Unencrypted (no
database encryption key present)'
WHEN 1 THEN 'Unencrypted'
WHEN 2 THEN 'Encryption in Progress'
WHEN 3 THEN 'Encrypted'
WHEN 4 THEN 'Key Change in Progress'
WHEN 5 THEN 'Decryption in Progress'
ELSE CAST(encryption_state AS
varchar(20))
END AS encryption_state,
key_algorithm,
key_length
FROM sys.dm_database_encryption_keys
SSMS
SSMS を使用してデータベースで暗号化が有効になっているかどうかを確認する手順は次のとおりです。
SSMS でデータベース名を右クリックします。
プルダウン メニューから [プロパティ] を選択すると、データベースのプロパティが表示されます。
[ページを選択] で [オプション] をクリックすると、データベースのオプションが表示されます。
[State] で、[Encryption Enabled] が [True] に設定されていることを確認します。
SQL Server の暗号化のトラブルシューティング
よくあるエラーを 2 つ紹介します。
SQL エラー 24583: 暗号化証明書がないことを示します。次の 24583 SQL Server サーバーエラーは、ソース SQL Server インスタンスの暗号化証明書がない SQL Server インスタンスにマウントしようとしていることを示しています。
SQL エラー 33117: 透過的データ暗号化が有効になっていません。次の 33117 SQL Server エラーは、Transparent Data Encryption が有効になっていない SQL Server インスタンスに、暗号化された SQL Server データベースをマウントしようとしていることを示しています。
SQL Server のマスターキー、暗号化証明書、パスワードの手順
マスターキーと暗号化証明書の作成とコピーは、バックアップ / リカバリ アプライアンスに固有ではない標準の Microsoft SQL Server の手順です。便宜上、以下に示します。
新しいマスター鍵を作成する
新しい暗号化証明書を作成する
サーバー マスターキーと暗号化証明書を適用する
サーバー マスターキーと暗号化証明書のコピーを作成し、ソースパスワードを指定する
暗号化証明書と秘密鍵をコピーし、ソースパスワードを指定する
詳細については、セキュリティ証明書と鍵に関する Microsoft の詳細情報(https://msdn.microsoft.com/en-us/library/ff848768.aspx)をご覧ください。
新しいマスター鍵を作成する
use master;
go
create master key encryption by password = 'SMKSourcePassword';
go
新しい暗号化証明書を作成する
use master;
go
create certificate sourcedbcert with subject = 'Act Test Cert';
go
サーバー マスターキーと暗号化証明書を適用する
use DATABASENAME;
go
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE sourcedbcert;
go
alter database DATABASENAME
set encryption on;
go
サーバー マスターキーと暗号化証明書のコピーを作成し、ソースパスワードを指定する
1 つの SQL Server インスタンス上の SQL Server データベースが別の SQL Server インスタンスにマウントされている場合は、マウントするデータベースのサーバー マスターキー、暗号化証明書、パスワードを手動でコピーする必要があります。次に、サーバー マスターキー、暗号化証明書、パスワードを他の SQL Server インスタンスにコピーします。
サーバー マスターキー、暗号化証明書、パスワードのコピーを作成するには、次の操作を行います。
use master;
go
backup certificate sourcedbcert to file = 'E:\Enc\Sourcecert'
with PRIVATE KEY (file='E:\Enc\Privatekey',
ENCRYPTION BY PASSWORD='SecurePassword');
go
暗号化証明書と秘密鍵をコピーし、ソースパスワードを指定する
暗号化が有効な SQL Server データベースまたはデータが新しい SQL Server インスタンスにマウントされている場合、新しいインスタンスには、移行元 SQL Server インスタンスのサーバー マスターキー、暗号化証明書、パスワードのコピーが必要です。前のセクションで移行元 SQL Server インスタンスに作成した暗号化証明書とパスワードのコピーを、新しい SQL Server インスタンスに手動でコピーします。新しい SQL Server インスタンスから、次の操作を行います。
create certificate destinationdbcert
FROM file = 'C:\Program Files\Backup and DR\sqlenc\Sourcecert'
with private key (file = 'C:\Program Files\Backup and DR\sqlenc\Privatekey',
decryption by password = 'SecurePassword')
go
Microsoft SQL Server の Backup and DR に関するその他のドキュメント
このページは、Microsoft SQL Server データベースの保護と復元、および Backup and DR でのバイナリのサポートに固有の一連のページの一部です。詳細については、次のページをご覧ください。
- Microsoft SQL Server の Backup and DR
- Backup and DR 用に SQL Server データベースを準備する
- SQL Server データベース ホストを追加してデータベースを検出する
- Microsoft SQL Server インスタンスとデータベースのバックアップ プランを構成する
- SQL Server データベースをマウントする
- データベースを SQL Always On 可用性グループにマウントする
- アクティブなマウントを管理する
- SQL Server データベースを移行する
- SQL Server データベースのクローンを作成する
- SQL Server バックアップを復元する