SQL Server のジオデータベース管理者
Microsoft SQL Server では、ジオデータベース管理者は、sde というユーザか、ジオデータベースを含むデータベースの dbo ユーザにマップされているログインのいずれかです。ジオデータベース管理者は、以下の管理を担当します。
- ArcSDE ジオデータベースのシステム テーブル、トリガ、プロシージャ
- ArcSDE サービス(使用されている場合)
- ジオデータベース バージョン
ジオデータベース管理者は、ジオデータベースのすべてのシステム ファイル、ディレクトリ、テーブルを所有するため、ジオデータベース管理者アカウントはジオデータベースを作成する前に作成する必要があります。sde スキーマ ジオデータベースを作成するには、sde というユーザが存在する必要があります。dbo スキーマのジオデータベースを作成するには、データベースの dbo ユーザであるログインを使用して接続する必要があります。ジオデータベース管理者とジオデータベースの作成には、次の選択肢があります。
- ArcGIS で sde データベース認証のログインおよびユーザを作成する場合は、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを使用します。[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールまたはスクリプトを実行するときに sde スキーマのジオデータベースを選択すると、SQL Server 認証の sde ログイン、sde データベース ユーザおよびそのスキーマが作成されます。ツールによって、ジオデータベースの作成と接続の切断に必要な権限が sde ユーザに付与されます。また、ツールによってデータベースが作成され、データベース内のジオデータベース機能が有効化されます。
- dbo スキーマのジオデータベースを作成する場合、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールまたはスクリプト、または [エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたはスクリプトを使用できます。どちらの場合も、データベース管理者(DBA)は、ジオデータベースの作成時に使用されるログインを SQL Server インスタンスに追加する必要があります。このログインは、Windows 認証ログインまたは SQL Server 認証ログインです。また、このログインはデータベース所有者であるか(この場合、DBA はジオデータベースを作成する前にデータベースを作成する必要があります)、ログインが sysadmin 固定サーバ ロールのメンバーである必要があります。ログインが SQL Server インスタンスに追加されたら、そのログインを使用して接続し、ジオデータベースを作成できます。データベースがまだ作成されていない場合は、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールまたはスクリプトを実行して、データベースとジオデータベースを作成します。データベースがすでに存在する場合は、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ツールまたはスクリプトを実行します。
- Windows 認証の sde ユーザを使用する場合、DBA はデータベースと sde データベースのユーザおよびスキーマを作成し、sde スキーマを sde ユーザのデフォルト スキーマとして設定し、sde ユーザにジオデータベースの作成に必要な権限を付与し、sde ユーザを適切な Windows 認証ログインにマップする必要があります。その後、その Windows 認証ログインを使用してログインし、[エンタープライズ ジオデータベースの有効化(Enable Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを実行して、DBA が作成した SQL Server データベース内に sde スキーマのジオデータベースを作成できます。
2 種類のジオデータベース管理者の詳細については、「SQL Server 内でのジオデータベース所有者の比較」をご参照ください。
ジオデータベース管理者とスキーマ
SQL Server では、ユーザ名と同じ名前のスキーマがユーザに自動的に与えられるわけではありません。しかし、ArcGIS で SQL Server を使用する場合は、ユーザ名とデフォルトのスキーマ名を一致させる必要があります。これは、ジオデータベース管理者ユーザと非管理者ユーザの両方に当てはまります。dbo ユーザの場合、dbo スキーマはデフォルトですべてのデータベース内に存在します。データベースの dbo であるログインは、その dbo スキーマにデータを格納します。sde というジオデータベース管理者を使用する場合、この管理者は sde というスキーマを所有する必要があり、そのスキーマは sde ユーザのデフォルト スキーマである必要があります。前述したように、SQL Server 認証の sde ユーザを使用する場合、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールは sde ユーザのスキーマを作成します。sde ユーザを手動で作成する場合、sde スキーマも作成する必要があります。
ジオデータベース管理者とそのスキーマは、ArcSDE ジオデータベース リポジトリの管理と格納にのみ使用することが推奨されます。フィーチャクラスやラスタ データセットなどのデータ オブジェクトの格納には、別のユーザ スキーマを作成するべきです。ジオデータベース管理者の格納領域にシステム テーブルのみを格納する方法に従うと、ArcSDE の管理が容易になり、データベースからジオデータベースを削除する場合に作業が簡単になります。