SQL Server のジオデータベース管理者

Microsoft SQL Server では、ジオデータベース管理者は、sde というユーザーか、ジオデータベースを含むデータベースの dbo ユーザーにマップされているログインのいずれかです。ジオデータベース管理者は、以下の管理を担当します。

  • ジオデータベースのシステム テーブル、トリガー、ビュー、プロシージャ
  • DEFAULT ジオデータベース バージョン

ジオデータベース管理者はジオデータベースのすべてのシステム ファイル、ディレクトリ、テーブルを所有するため、ジオデータベースを作成する前にジオデータベース管理者アカウントを作成しておく必要があります。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 インスタンスに追加する必要があります。このログインは、Windows 認証ログインまたは SQL Server 認証ログインです。また、このログインはデータベース所有者であるか (この場合、データベース管理者はジオデータベースを作成する前にデータベースを作成する必要があります)、ログインが sysadmin 固定サーバー ロールのメンバーである必要があります。ログインが SQL Server インスタンスに追加されたら、そのログインを使用して接続し、ジオデータベースを作成できます。データベースがまだ作成されていない場合は、[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ツールまたはスクリプトを実行して、データベースとジオデータベースを作成します。データベースがすでに存在する場合は、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ツールまたはスクリプトを実行します。
  • Windows 認証の sde ユーザーを使用する場合、データベース管理者はデータベースと sde データベースのユーザーおよびスキーマを作成し、sde スキーマを sde ユーザーのデフォルト スキーマとして設定し、sde ユーザーにジオデータベースの作成に必要な権限を付与し、sde ユーザーを適切な Windows 認証ログインにマップする必要があります。その後、その Windows 認証ログインを使用してログインし、[エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールまたは Python スクリプトを実行して、データベース管理者が作成した 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 スキーマも作成する必要があります。

データベース管理者のスキーマは、ジオデータベース リポジトリの格納にのみ使用することをお勧めします。フィーチャクラスやテーブルなどのデータセットを格納する場合、別のユーザーとスキーマを作成する必要があります。ジオデータベース管理者のスキーマにジオデータベース システム オブジェクトのみを格納する方法に従うと、ジオデータベースの管理が容易になり、データベースからジオデータベースを削除する場合に作業が簡単になります。