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

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

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

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

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

注意:

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

このページに表示される権限は、SQL ServerArcGIS がサポートする SQL Server データベース サービスに適用されます。

最小限の権限

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

データ参照者

SELECT

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

データ編集者

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

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

データ作成者

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW
  • 各ユーザーは、ユーザー名と同じ名前のスキーマを所有しているか、そのスキーマに対する CONTROL 権限を持ち、そのスキーマはユーザーのデフォルトのスキーマである必要があります。

スキーマ名は個々のユーザー名と一致する必要があります。 すべてのデータ作成者に単一のスキーマを使用することはできません。 たとえば、simon というユーザー名は、simon という名前のスキーマを所有または制御する必要があります。 この要件を満たしていない場合、ユーザーがフィーチャクラスなどのオブジェクトを作成することはできません。

ジオデータベース管理者

ジオデータベースの作成またはアップグレード後の sde ユーザーは、ジオデータベースに接続できるだけでかまいません。

バージョン対応データセットに対する SELECTINSERTUPDATE、および DELETE

sde ユーザーが SQL ServerAmazon Relational Database Service (RDS) for SQL Server、および Google Cloud SQL for SQL Serverすべての接続を切断または表示できるようにするには、追加の権限が必要です。

sde ユーザーが Microsoft Azure SQL Managed Instance の接続を削除できるようにするために、追加の権限を付与する必要はありません。

sde ユーザーは、Azure SQL Database への接続を削除できません。

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

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

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

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

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

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

sde ユーザーは、sde というスキーマを所有しているか、そのスキーマに対する CONTROL 権限を持ち、その sde スキーマは sde ユーザーのデフォルト スキーマである必要があります。

ジオデータベースが作成される前に、データベース オプション READ_COMMITTED_SNAPSHOT および ALLOW_SNAPSHOT_ISOLATIONON に設定されていない場合、sde ユーザーには ALTER 権限が必要です。

Microsoft Azure SQL Database のジオデータベースの場合、VIEW DATABASE STATE 権限も必要です。

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

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

dbo スキーマ

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

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

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

追加の権限

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

  • ジオデータベース接続を削除するには、SQL Server 内の sde スキーマ ジオデータベースのジオデータベース管理者 (sde ユーザー) を固定サーバー ロールの processadmin に追加し、データベースに対する VIEW DEFINITION 権限を付与する必要があります。 [エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールは、このロールと権限を sde ユーザーに付与します。 ジオデータベースを作成した後に、この権限を取り消し、processadmin ロールからユーザーを削除することができますが、そうすると、sde ユーザーはジオデータベースからユーザーを切り離すことができなくなります。
  • ジオデータベース接続を削除するには、Google Cloud SQL for SQL Server および Amazon RDS for SQL Server の sde ユーザーを固定サーバー ロールの processadmin に追加する必要があります。
  • データセットの権限を付与する際にデータ所有者がユーザーのリストを表示できるようにするには、sde-schema ジオデータベース内の sde ユーザーにデータベースの VIEW DEFINITION 権限を付与する必要があります。 dbo-schema ジオデータベースでは、dbo ユーザーに自動的にこの権限が付与されます。
  • SQL Server 内の XML 列を所有するユーザーには、XML 列をインデックス化するときに使用されるフルテキスト カタログに対する REFERENCES 権限を付与する必要があります。
  • ArcGIS Insights では追加の権限が必要な場合があります。 詳細については、ArcGIS Insights ヘルプの「必要なデータベース権限」をご参照ください。
  • ArcGIS Monitor でジオデータベースにアクセスして監視するには、追加の権限が必要な場合があります。 詳細については、「SQL Server データベースの登録」をご参照ください。