sys.server_principals (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Analytics Platform System (PDW)
Berisi baris untuk setiap prinsipal tingkat server.
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Nama kolom | Jenis data | Deskripsi |
---|---|---|
nama | nama sysname | Nama kepala sekolah. Unik dalam server. |
principal_id | int | Nomor ID Prinsipal. Unik dalam server. |
Sid | varbinary(85) | SID (Security-IDentifier) dari perwakilan. Jika prinsipal Windows, maka cocok dengan Windows SID. |
jenis | karakter(1) | Jenis utama: S = Masuk SQL U = Login Windows G = Grup Windows R = Peran server C = Login dipetakan ke sertifikat E = Login Eksternal dari ID Microsoft Entra X = Grup eksternal dari grup atau aplikasi Microsoft Entra K = Login dipetakan ke kunci asimetris |
type_desc | nvarchar(60) | Deskripsi jenis utama: SQL_LOGIN WINDOWS_LOGIN WINDOWS_GROUP SERVER_ROLE CERTIFICATE_MAPPED_LOGIN EXTERNAL_LOGIN EXTERNAL_GROUP ASYMMETRIC_KEY_MAPPED_LOGIN |
is_disabled | int | 1 = Login dinonaktifkan. |
create_date | datetime | Waktu di mana prinsipal dibuat. |
modify_date | datetime | Waktu di mana definisi utama terakhir diubah. |
default_database_name | nama sysname | Database default untuk prinsip ini. |
default_language_name | nama sysname | Bahasa default untuk prinsip ini. |
credential_id | int | ID kredensial yang terkait dengan prinsip ini. Jika tidak ada kredensial yang terkait dengan prinsipal ini, credential_id akan NULL. |
owning_principal_id | int | Principal_id pemilik peran server. NULL jika prinsipal bukan peran server. |
is_fixed_role | bit | Mengembalikan 1 jika prinsipal adalah salah satu peran server bawaan dengan izin tetap. Untuk informasi selengkapnya, lihat Peran Tingkat Server. |
Izin
Setiap login dapat melihat nama login mereka sendiri, login sistem, dan peran server tetap. Untuk melihat login lain, memerlukan ALTER ANY LOGIN, atau izin pada login. Untuk melihat peran server yang ditentukan pengguna, memerlukan ALTER ANY SERVER ROLE, atau keanggotaan dalam peran tersebut.
Di Azure SQL Database, hanya prinsipal berikut yang dapat melihat semua login:
- anggota peran server ##MS_LoginManager## atau peran database khusus loginmanager di
master
- admin Microsoft Entra dan admin server SQL
Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Contoh
Kueri berikut mencantumkan izin yang secara eksplisit diberikan atau ditolak untuk prinsipal server.
Penting
Izin peran server tetap (selain publik) tidak muncul di sys.server_permissions. Oleh karena itu, prinsipal server mungkin memiliki izin tambahan yang tidak tercantum di sini.
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;
Catatan
Izin peran server tetap tidak muncul di sys.server_permissions.
Lihat juga
Tampilan Katalog Keamanan (Transact-SQL)
Tampilan Katalog (Transact-SQL)
Prinsipal (Mesin Database)
Hierarki Izin (Mesin Database)