В этом учебном пособии вы узнаете, какой выполнить запрос в SQL Server, чтобы узнать всех созданных пользователей.
Описание
В SQL Server существует системный вид sys.database_principals. Вы можете запустить запрос этого системного представления, который возвращает всех пользователей, созданных на SQL Server, а также информацию об этих пользователях.
Синтаксис
Синтаксис Find Users in SQL Server в SQL Server (Transact-SQL):
1 2 |
SELECT * FROM master.sys.database_principals; |
В представлении sys.database_principals содержатся следующие столбцы:
Колонки | Пояснение |
---|---|
name | Это имя пользователя, которое было присвоено в операторе CREATE USER |
principal_id | Уникальное числовое значение |
type | Тип principal S = пользователь SQL Server U = пользователь Windows G = группа Windows A = роль приложения R = роль базы данных C = Сертификат K = Асимметричный ключ |
type_desc | Описание для типа principal SQL_USER WINDOWS_USER WINDOWS_GROUP APPLICATION_ROLE DATABASE_ROLE CERTIFICATE_MAPPED_USER ASSYMETRIC_KEY_MAPPED_USER |
default_schema_name | Имя, которое следует использовать, если схема не указана |
create_date | Дата / время, когда Пользователь был создан с использованием оператора CREATE USER |
modify_date | Дата / время, когда Пользователь был изменен |
owning_principal_id | Идентификатор principal, которому принадлежит этот пользователь |
sid | Это s sid, который был назначен с использованием оператора CREATE LOGIN |
is_fixed_role | 0 или 1 |
authentication_type | NONE, WINDOWS, INSTANCE |
default_language_name | Указывает язык по умолчанию для этого principal. |
default_language_lcid | Указывает LCID по умолчанию для этого principal. |
Совместимость с более старыми версиями
В старых версиях SQL Server вы можете получить всех пользователей с помощью системных таблиц SQL Server 2000, таких как таблица sys.sysusers.
Чтобы загрузить всех пользователей на SQL Server с использованием системных таблиц SQL Server 2000, вы можете выполнить следующий оператор SQL:
1 2 |
SELECT * FROM master.sys.sysusers; |
Системная таблица sys.sysusers (SQL Server 2000) содержит следующие столбцы:
Колонки | Пояснение |
---|---|
uid | Уникальное числовое значение |
status | Не используется |
name | Это имя пользователя, которое было присвоено в операторе CREATE USER |
sid | Это sid, который был назначен в операторе CREATE LOGIN |
roles | Не используется |
createdate | Дата / время, когда Пользователь был создан с использованием оператора CREATE USER |
updatedate | Дата / время, когда Пользователь был изменен |
altuid | Не используется |
password | Не используется |
gid | Идентификатор группы, присвоенный пользователю |
environ | Не используется |
hasdbaccess | 0 или 1 |
islogin | 0 или 1 |
isntname | 0 или 1 |
isntgroup | 0 или 1 |
isntuser | 0 или 1 |
issqluser | 0 или 1 |
isaliased | 0 или 1 |
issqlrole | 0 или 1 |
isapprole | 0 или 1 |