SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server のインスタンス ルート ディレクトリ とバックアップの関係

leave a comment

SQL Server のインストール時には [インスタンス ルート ディレクトリ] を指定するのですが、これと Windows Server バックアップには少し関連性があるので今回はこの点についてまとめてみたいと思います。

今回は Windows Server 2008 R2 上での動作となり、Windows Server 2012 R2 で試してみたところ、インスタンスルートディレクトリが、ベアメタル回復用のバックアップ取得時に選択されるということはありませんでした。
OS のバージョンによって動作が異なっているようですね。

■インスタンス ルート ディレクトリとベア メタル回復用のバックアップの関係


インストールをしていると [インスタンス ID] を指定するタイミングで [インスタンス ルート ディレクトリ] も指定します。

image

インスタンス ルート ディレクトリには SQL Server のサービスを起動するために必要となるファイル群が格納され、デフォルトでは [C:Program FilesMicrosoft SQL Server] が指定されています。

デフォルトの設定のまま使用するのであればさほど意識しないのでいいのですが、このディレクトリを変更する場合にはバックアップを少し意識する必要があります。
今回は、[E:INSTANCEROOT] をインスタンス ルート ディレクトリとして設定してみました。
image

インスタンス ルート ディレクトリとデータ ルート ディレクトリはデフォルトでは同一の場所となるので、システムデータベース関連もインスタンス ルート ディレクトリが起点となります。
image

データ ルート ディレクトリに関しては、[C:Program FilesMicrosoft SQL Server] を設定してインストールを行ってみます。
image

インストールが終わったら、Windows Server バックアップで [ベアメタル回復] のバックアップを取得してみます。
image

[ベア メタル回復] を選択すると [E ドライブ] も自動で選択がされ [E ドライブ] を外すことはできません。
image

インスタンス ルート ディレクトリには以下のサービスの EXE が格納されています。

[MSSQLSERVER]
image

[SQLSERVERAGENT]
image

ベアメタル回復時にはサービスで使用している実行ファイルを取得するために、自動的にこれらのサービスで使用しているファイルが格納されているディレクトリのドライブも選択されてしまうようですね。

これらの実行ファイルのパスはレジストリの 「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT」の「ImagePath (REG_EXPAND_SZ)」 に格納されているのですが、この値をちょっと変更してみると、E ドライブは取得されなくなりました。
サービスで使用されているプログラムのパスが、ベアメタル回復時に取得されるようになっているようですね。
image

ベア メタル回復用のバックアップはシステムバックアップ用に取得することが多いかと思います。

インスタンス ルート ディレクトリに指定したドライブはベア メタル回復のバックアップを取得する際に自動的に選択されてしまいますので、もしこのドライブにデータベースのファイルを保存していると、データベースのファイルについてもバックアップが取得されてしまうことになります。

データベースのサイズが大きくなるときには、インスタンス ルート ディレクトリにデータベースのファイルを格納しないように注意する必要がありそうですね。

ベア メタル回復のバックアップを取得する際には、全体を取得するというバックアップポリシーであれば問題ありませんが。

Share

Written by Masayuki.Ozawa

5月 22nd, 2011 at 2:15 pm

Leave a Reply