sys.database_principals (Transact-SQL)

データベース内のプリンシパルごとに 1 行のデータを返します。

列名

データ型

説明

name

sysname

プリンシパルの名前。データベース内で一意です。

principal_id

int

プリンシパルの ID。データベース内で一意です。

type

char(1)

プリンシパルの種類。

S = SQL ユーザー

U = Windows ユーザー

G = Windows グループ

A = アプリケーション ロール

R = データベース ロール

C = 証明書にマップされているユーザー

K = 非対称キーにマップされているユーザー

type_desc

nvarchar(60)

プリンシパルの種類の説明。

SQL_USER

WINDOWS_USER

WINDOWS_GROUP

APPLICATION_ROLE

DATABASE_ROLE

CERTIFICATE_MAPPED_USER

ASYMMETRIC_KEY_MAPPED_USER

default_schema_name

sysname

SQL 名でスキーマが指定されなかったときに使用される名前。種類が S、U、A 以外のプリンシパルの場合は Null になります。

create_date

datetime

プリンシパルが作成された時刻。

modify_date

datetime

プリンシパルが変更された時刻。

owning_principal_id

int

このプリンシパルを所有するプリンシパルの ID。データベース ロール以外のすべてのプリンシパルは、dbo が所有する必要があります。

sid

varbinary(85)

プリンシパルがデータベース外部で定義されている場合 (種類が S、U、G の場合) は SID (セキュリティ識別子)。それ以外の場合は NULL。

is_fixed_role

bit

1 の場合は、固定データベース ロール db_owner、db_accessadmin、db_datareader、db_datawriter、db_ddladmin、db_securityadmin、db_backupoperator、db_denydatareader、db_denydatawriter のいずれかのエントリを表します。

権限

すべてのユーザーが自分のユーザー名、システム ユーザー、および固定データベース ロールを参照できます。他のユーザーを参照するには、ALTER ANY USER、またはユーザーに対する権限が必要です。ユーザー定義ロールを参照するには、ALTER ANY ROLE、またはロールのメンバーシップが必要です。

SQL Server 2005 以降のバージョンでは、カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。