SQL Server に格納されたジオデータベースの移行に関する他の方法
Microsoft SQL Server では、データベースの移行にいくつかのオプションがあります。それには、デタッチおよびアタッチ、バックアップおよびリストア、またはデータベース コピー ウィザードが含まれます。
SQL Server データベースの移行にどの方法を使用するとしても、データベースの名前を変更することはできません。たとえば、データベースをリストアする際には、必要に応じて、データベースを別の名前でリストアすることができます。その際、ジオデータベースの名前を変更すると、そのジオデータベースへの接続は不可能になります。
ジオデータベースのシステム テーブル内のすべてのオブジェクト名はデータベース名で完全修飾されます。さらに、多くのストアド プロシージャは、<データベース>.<所有者>.<オブジェクト>という形式の 3 つの部分からなる命名規則を使用します。データベースの名前が変更された場合、これらのストアド プロシージャは実行できなくなります。
複数の空間データベース インスタンスを使用している(つまり、SDE データベースと他のデータベースがすべて単一のジオデータベースの一部である)場合は、ジオデータベース全体を移行する必要があります。ArcSDE テーブルとジオデータベース テーブルで参照されているすべてのデータベースが含まれていない場合、転送先のデータが操作不能になる可能性があります。
デタッチとアタッチの使用
SQL Server データベースに格納されたジオデータベースを移行する最も簡単な方法は、移行元サーバからデータベースをデタッチし、移行先サーバにアタッチすることです。その際には、次の点に注意してください。
- デタッチしたデータベースへの接続は完全に不可能になります。
- デタッチにより、データベースは正常終了されます。
- デタッチ/アタッチは、データベースのバックアップ/リストアよりも高速な可能性があります。
- デタッチ/アタッチを使用すると、移行元サーバと移行先サーバにまったく同じデータベースが作成されます。
- この方法は大量のデータを移動する場合に適しています。
- SQL Server インスタンスからデータベースをデタッチするには、最低でも db_owner 権限が必要になります。
- データベースを SQL Server インスタンスにアタッチするには、CREATE DATABASE 権限が必要になります。
- ArcGIS Server Enterprise でライセンスされるSQL Serverの ArcSDE ジオデータベースを使用すると、CREATE DATABASE FOR ATTACH SQL コマンドですべてのデータおよびログ ファイルを指定することができます。
別のデータベースのバックアップのリストア
SQL Server データベースを移行するためのもう 1 つのオプションは、データベースの完全バックアップを実行し、移行先サーバでバックアップ ファイルをリストアすることです。次の点に注意してください。
- リストア操作中、論理ファイル名を変更することはできません。
- バックアップ処理でのアタッチは可能ですが、リストア処理では不可能です。
SQL Server データベース用の ArcSDE のバックアップのリストアについては、SQL Server のドキュメントをご参照ください。
データベース コピー ウィザード(Management Studio)
ArcGIS Server Enterprise ライセンスで作成されるジオデータベースのみに適用されます。
SQL Server Management Studio(SQL Server 2005 および 2008)では、データベースの移行に使用できるデータベース コピー ウィザードを提供しています。データベース コピー ウィザードを使用する際には、注意しなければならない点がいくつかあります。
- 複数のデータベースをコピーすることができます。
- 同じインスタンス上でデータベースのコピーを作成する場合、データベース コピー ウィザードは使用できません。
- データベース コピー ウィザードからユーザ アカウントを除外することはできないので、それらはコピー先のデータベースに新しいサーバ ユーザ ID(SID)で移行されます。
- このウィザードを使用するには、移行元サーバと移行先サーバが接続している必要があります。