sys.server_principals (Transact-SQL)
サーバー レベルのプリンシパルごとに 1 行のデータを格納します。
列名 |
データ型 |
説明 |
---|---|---|
name |
sysname |
プリンシパルの名前。 サーバー内で一意です。 |
principal_id |
int |
プリンシパルの ID 番号。 サーバー内で一意です。 |
sid |
varbinary(85) |
プリンシパルの SID (セキュリティ識別子)。 Windows プリンシパルの場合、これは Windows SID に一致します。 |
型 |
char(1) |
プリンシパルの種類。 S = SQL ログイン U = Windows ログイン G = Windows グループ R = サーバー ロール C = 証明書にマップされるログイン K = 非対称キーにマップされるログイン |
type_desc |
nvarchar(60) |
プリンシパルの種類の説明。 SQL_LOGIN WINDOWS_LOGIN WINDOWS_GROUP SERVER_ROLE CERTIFICATE_MAPPED_LOGIN ASYMMETRIC_KEY_MAPPED_LOGIN |
is_disabled |
int |
1 = ログインは無効です。 |
create_date |
datetime |
プリンシパルが作成された日時。 |
modify_date |
datetime |
プリンシパルの定義が最後に変更された日時。 |
default_database_name |
sysname |
プリンシパルの既定のデータベース。 |
default_language_name |
sysname |
プリンシパルの既定の言語。 |
credential_id |
int |
プリンシパルに関連付けられている証明書の ID。 プリンシパルに関連付けられている証明書がない場合、credential_id は NULL になります。 |
owning_principal_id |
int |
サーバー ロールの所有者の principal_id。 プリンシパルがサーバー ロールでない場合は NULL です。 |
is_fixed_role |
bit |
プリンシパルが固定サーバー ロールの場合、1 を返します。 |
権限
すべてのログインは自分のログイン名、システム ログイン、および固定サーバー ロールを参照できます。 他のログインを参照するには、ALTER ANY LOGIN、またはログインに対する権限が必要です。 ユーザー定義のサーバー ロールを参照するには、ALTER ANY SERVER ROLE、またはロールのメンバーシップが必要です。
カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。 詳細については、「メタデータ表示の構成」を参照してください。
使用例
次のクエリは、サーバー プリンシパルに対して明示的に付与または拒否されている権限を一覧表示します。
重要 |
---|
固定サーバー ロールの権限は、sys.server_permissions には表示されません。 したがって、サーバー プリンシパルには、ここに一覧表示されていない追加の権限がある可能性があります。 |
SELECT pr.principal_id, pr.name, pr.type_desc,
pe.state_desc, pe.permission_name
FROM sys.server_principals AS pr
JOIN sys.server_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
関連項目
参照
セキュリティ カタログ ビュー (Transact-SQL)