Microsoft SQL Server では、ジオデータベース管理者は、sde というユーザーか、ジオデータベースを含むデータベースの dbo ユーザーにマップされているログインのいずれかです。 ジオデータベース管理者は、以下の管理を担当します。
- ジオデータベースのシステム テーブル、トリガー、ビュー、プロシージャ
- デフォルトのジオデータベース バージョン
ジオデータベース管理者はジオデータベースのすべてのシステム ファイル、ディレクトリ、テーブルを所有するため、ジオデータベースを作成する前にジオデータベース管理者アカウントを作成しておく必要があります。 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)] ジオプロセシング ツールまたはスクリプトを使用できます。 どちらの場合も、データベース管理者は、ジオデータベースの作成時に使用されるログインを SQL Server インスタンスに追加する必要があります。 このログインは、オペレーティング システム認証ログイン、または SQL Server 認証ログインが可能です。 また、このログインはデータベース所有者であるか (この場合、データベース管理者はジオデータベースを作成する前にデータベースを作成する必要があります)、ログインが sysadmin 固定サーバー ロールのメンバーである必要があります。 ログインが SQL Server インスタンスに追加されたら、そのログインを使用して接続し、ジオデータベースを作成できます。 データベースがまだ作成されていない場合は、[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ツールまたはスクリプトを実行して、データベースとジオデータベースを作成する必要があります。 データベースがすでに存在する場合は、[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)]、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ツールまたはスクリプトを実行できます。
- オペレーティング システム認証の sde ユーザーを使用するには、データベース管理者はデータベースと sde データベースのユーザーおよびスキーマを作成し、sde スキーマを sde ユーザーのデフォルト スキーマとして設定し、sde ユーザーにジオデータベースの作成に必要な権限を付与し、sde ユーザーを適切なオペレーティング システム認証ログインにマップする必要があります。 その後、そのオペレーティング システム認証ログインを使用してログインし、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールまたはツールを呼び出す Python スクリプトを実行して、データベース管理者が作成した [エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] データベース内に 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 スキーマも作成する必要があります。
Esri では、データベース管理者のスキーマは、ジオデータベース リポジトリの格納にのみ使用することをお勧めします。 フィーチャクラスやテーブルなどのデータセットを格納する場合、別のユーザーとスキーマを作成する必要があります。 ジオデータベース管理者のスキーマにジオデータベース システム オブジェクトのみを格納する方法に従うと、ジオデータベースの管理が容易になり、データベースからジオデータベースを削除する場合に作業が簡単になります。