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. | 
Permissions
In SQL Server 2005 and later versions, the visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. For more information, see Metadata Visibility Configuration.
See Also