sys.database_principals (Transact-SQL)

Returns a row for each principal in a database.

Column name Data type Description

name

sysname

Name of principal, unique within the database.

principal_id

int

ID of principal, unique within the database.

type

char(1)

Principal type:

S = SQL user

U = Windows user

G = Windows group

A = Application role

R = Database role

C = User mapped to a certificate

K = User mapped to an asymmetric key

type_desc

nvarchar(60)

Description of principal type.

SQL_USER

WINDOWS_USER

WINDOWS_GROUP

APPLICATION_ROLE

DATABASE_ROLE

CERTIFICATE_MAPPED_USER

ASYMMETRIC_KEY_MAPPED_USER

default_schema_name

sysname

Name to be used when SQL name does not specify schema. Null for principals not of type S, U, or A.

create_date

datetime

Time at which the principal was created.

modify_date

datetime

Time at which the principal was last modified.

owning_principal_id

int

ID of the principal that owns this principal. All principals except Database Roles must be owned by dbo.

sid

varbinary(85)

SID (Security Identifier) if the principal is defined external to the database (type S, U, and G). Otherwise, NULL.

is_fixed_role

bit

If 1, then this row represents an entry for one of the fixed database roles: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter.

See Also

Reference

Catalog Views (Transact-SQL)
Security Catalog Views (Transact-SQL)

Other Resources

Principals

Help and Information

Getting SQL Server 2005 Assistance