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

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

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

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

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

注意:

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

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

最小限の権限

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

データ参照者

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 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

ジオデータベースが作成される前に、データベース オプション READ_COMMITTED_SNAPSHOT および ALLOW_SNAPSHOT_ISOLATION が ON に設定されていない場合、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 に追加する必要があります。
  • SQL Server で XML 列を所有するユーザーには、XML 列をインデックス化するときに使用されるフルテキスト カタログに対する REFERENCES 権限を付与する必要があります。