ジオデータベースとは、データベースの中にあるテーブル、ビュー、関数およびストアド プロシージャの集合体です。Microsoft SQL Server データベースのジオデータベースでは、このオブジェクトの集合体は、sde というデータベース ユーザーまたは dbo データベース ユーザーが所有できます。ジオデータベースを所有するのがどちらのユーザーであっても、そのユーザーがジオデータベース管理者と見なされます。ジオデータベースでは、ユーザー名とスキーマ名が一致している必要があるため、sde ユーザーが所有するジオデータベースは sde スキーマ ジオデータベースと呼ばれ、dbo が所有するジオデータベースは dbo スキーマ ジオデータベースと呼ばれます。
ジオデータベース作成時の接続に使用したログインは、そのジオデータベースを所有するデータベース ユーザーを決定します。接続に使用したオペレーティング システム ログインまたは SQL Server ログインがデータベースの dbo ユーザーにマップされている場合、dbo スキーマのジオデータベースが作成されます。接続に使用したオペレーティング システム ログインまたは SQL Server ログインがデータベースの sde というユーザーにマップされている場合、sde スキーマのジオデータベースが作成されます。
sde ユーザー
データベースの sde ユーザーは、SQL Server 認証のログインまたはオペレーティング システム認証のログインと関連付けることができます。sde ユーザーは、sde というスキーマに対する権限を持ち、そのスキーマは sde ユーザーのデフォルト スキーマである必要があります。また、sde ユーザーは、ジオデータベースを作成および管理できるデータベースの権限を付与される必要があります。
dbo ユーザー
dbo ユーザーとそのデフォルト スキーマは、すべてのデータベースに自動的に存在します。ログインは、次のいずれかの方法でデータベースの dbo にできます。
- 特定のデータベースを作成するか、その所有者にする
- sysadmin 固定サーバー ロールのメンバーになる
特定のデータベースの dbo ユーザーにマップされたログインは、そのデータベースで最高の権限を持ちます。そのため、ジオデータベースを作成および管理するために十分な権限があります。特定のデータベースの dbo にマップされたログインは、SQL Server インスタンスまたはその他のデータベースに対して、そのログインに明示的に付与されていない限り、上位の権限は持ちません。
sysadmin 固定サーバー ロールのメンバーであるログインは、SQL Server インスタンス上にあるすべてのデータベースの dbo にマップされ、SQL Server インスタンス全体で最高の権限も持ちます。このログインは、ジオデータベースの作成および管理に十分な権限を持ち、インスタンス内のその他のセキュリティ保護可能なリソースを作成、変更、削除、管理できます。
dbo ユーザーが所有するすべてのデータベース オブジェクトは、dbo スキーマに格納されます。
ジオデータベースを所有するユーザーの選択
2 種類のジオデータベース スキーマには、性能や機能の違いはありません。どちらにも長所と短所があります。システムと選択したセキュリティ モデルに最も適したユーザー (とスキーマ) を選択してください。
使用する認証タイプに基づいた 2 種類のスキーマの比較を以下に示します。
スキーマ | 認証 | 利点 | 欠点 |
---|---|---|---|
dbo (sysadmin のメンバー) | オペレーティング システムまたは SQL Server ログイン |
|
|
dbo (特定のデータベースの dbo にマップ) | オペレーティング システムまたは SQL Server ログイン |
|
|
SDE | SQL Server ログイン |
|
|
SDE | オペレーティング システム ログイン |
|
|
* ほとんどのオペレーティング システム ログイン、特にドメイン ログインは、特定のユーザーに属しています。そのログインは、そのユーザーが自分のコンピューターにログインし、SQL Server を含むアプリケーションにアクセスするために使用されます。このため、そのユーザーは常に sde ユーザーとしてジオデータベースに接続します。同じユーザーがジオデータベース管理者としても振舞い、ジオデータベース内にデータを作成する場合、別のオペレーティング システム ログインを作成し、低い権限が付与されたデータベース内の別のユーザーにログインをマッピングする (実質的にそのユーザーに 2 つのログインを付与する) 必要があるかもしれません。これは、ジオデータベース内で実行する必要があるタスクに応じて、コンピューター上でログインを切り替える必要があることを意味します。同じユーザーに複数のログインを作成することは、セキュリティに影響を及ぼす可能性があり、ログイン管理も複雑になるため、多くのサイトでは避けています。このような理由から、同じユーザーがジオデータベースで複数の役割を担う場合、オペレーティング システム認証の sde ユーザーを利用することはお勧めしません。