SQL Server でのジオデータベースの権限

権限によって、データおよびデータベースに対してユーザーが許可される操作を決定します。権限は、 このユーザーがジオデータベースの管理に関与するか、 データを編集または作成できる必要があるか、 データを検索できれば十分かといった、組織内でのユーザーの職務に基づいて割り当てる必要があります。

ユーザー権限は、さまざまなレベルで設定されます。このトピックでは、一般的なユーザー (データ参照者、データ編集者、データ作成者、およびジオデータベース管理者) のデータベース権限とデータセット権限を示します。

SQL Server ツールまたは Transact SQL ステートメントを使用して、ユーザー データベース権限を管理できます。

ジオデータベースのデータセットの権限の付与や取り消しは、ArcGIS クライアントを使用して、データセット所有者が行う必要があります。

メモ:

データベースの CONNECT 権限は、デフォルトでパブリック データベース ロールに割り当てられます。この権限をパブリックから削除する場合は、データベースの CONNECT 権限を明示的に特定のロールやログインに割り当てる必要があります。

最小限の権限

ユーザーの種類データベースの権限データセットの権限備考

データ参照者

SELECT

データベースのすべてのテーブルの読み取りを許可する場合は、ユーザーを db_datareader データベース ロールに割り当てることができます。それ以外の場合は、SELECT を特定のテーブルおよびビューに付与します。

データ編集者

  • 他のユーザーのデータセットに対する SELECT、INSERT、UPDATE、DELETE
  • 編集するデータに関連付けられたストアド プロシージャの EXECUTE

ArcGIS を使用して、従来のバージョン対応登録されたフィーチャクラスまたはテーブルに対する SELECT、INSERT、UPDATE、および DELETE 権限を付与すると、関連するバージョン対応ビューに対してこれらの権限が自動的に付与されます。これらの権限は、ユーザーが SQL およびバージョン対応ビューを使用して編集する際に必須です。

データ作成者

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW

データを作成するユーザーは、データベース ユーザー名と同じ名前のデフォルト スキーマを持つ必要があります。たとえば、ユーザー名が simon の場合、デフォルト スキーマ名は simon でなければなりません。そうでない場合、ユーザーがフィーチャクラスなどのオブジェクトを作成することはできません。

ジオデータベース管理者

ジオデータベース管理者が sde という名前のユーザーで、このユーザーがジオデータベースにシステム オブジェクト以外のデータを所有しない場合、ジオデータベースの作成後の sde ユーザーは、ジオデータベースに接続できるだけでかまいません。

バージョン対応登録されたデータセットの SELECT、INSERT、UPDATE、DELETE

ジオデータベースをアップグレードしたり、sde ユーザーがすべての接続を切断または表示できるようにするには、追加の権限が必要です。

ジオデータベースを作成またはアップグレードするための権限

以下の表は、SQL Server でジオデータベースを作成またはアップグレードするときに使用する必要のあるユーザーと権限を示しています。

ジオデータベースの種類ジオデータベースを作成するユーザーと権限ジオデータベースをアップグレードするユーザーと権限

sde スキーマ ジオデータベース

sde ユーザーには以下の権限が必要です。

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

sde ユーザーを、アップグレードするデータベースの db_owner ロールに追加する必要があります。

別の方法として、db_owner データベース ロールまたは sysadmin 固定サーバー ロールのユーザー (sde 以外) がアップグレードを実行することもできます。

dbo スキーマ

dbo ユーザーはすでに、データベース内にジオデータベースを作成するのに必要な権限を有しています。

dbo ユーザーはすでに、アップグレードするのに必要な権限を有しています。

別の方法として、db_owner データベース ロールのユーザーがアップグレードを実行することもできます。

追加の権限

以下の場合は、ジオデータベースに対する追加の権限が必要になります。

  • ジオデータベース接続を削除するには、sde スキーマ ジオデータベースのジオデータベース管理者 (sde ユーザー) を固定サーバー ロールの processadmin に追加し、データベースに対する VIEW DEFINITION 権限を付与する必要があります。[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールは、このロールと権限を sde ユーザーに付与します。ジオデータベースを作成した後に、この権限を取り消し、processadmin ロールからユーザーを削除することができますが、そうすると、sde ユーザーはジオデータベースからユーザーを切り離すことができなくなります。
  • XML 列を所有するユーザーには、XML 列をインデックス化するときに使用されるフルテキスト カタログに対する REFERENCES 権限を付与する必要があります。
  • ジオデータベース内の共有ログ ファイル テーブルを使用するようにジオデータベースの設定を変更する場合は、すべてのユーザーがデータベースの CREATE TABLE 権限を持つ必要があります。