Bagikan melalui


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) Pengidentifikasi Keamanan (SID) utama.
SID perwakilan Windows cocok dengan Windows SID mereka.
SID identitas pengguna Microsoft Entra adalah representasi biner dari ID objek Microsoft Entra-nya.
SID grup Microsoft Entra adalah representasi biner dari ID objek Microsoft Entra-nya.
SID aplikasi Microsoft Entra adalah representasi biner dari ID klien Microsoft Entra-nya.
jenis karakter(1) Jenis utama:

S = Masuk SQL
R = Peran server

Tersedia di SQL Server, Azure SQL Managed Instance, dan PDW (Dalam pratinjau di Azure SQL Database):
E = Login eksternal atau aplikasi dari ID Microsoft Entra
X = Grup eksternal dari ID Microsoft Entra

Tersedia di SQL Server, Azure SQL Managed Instance, dan PDW (bukan Azure SQL Database):
U = Login Windows
G = Grup Windows
C = Login dipetakan ke sertifikat
K = Login dipetakan ke kunci asimetris
type_desc nvarchar(60) Deskripsi jenis utama:

SQL_LOGIN
SERVER_ROLE

Tersedia di SQL Server, Azure SQL Managed Instance, dan PDW (Dalam pratinjau di Azure SQL Database):
EXTERNAL_LOGIN
EXTERNAL_GROUP

Tersedia di SQL Server, Azure SQL Managed Instance, dan PDW (bukan Azure SQL Database):
WINDOWS_LOGIN
WINDOWS_GROUP
CERTIFICATE_MAPPED_LOGIN
ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = Login dinonaktifkan.
0 = Login diaktifkan.
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 prinsipal.
default_language_name nama sysname Bahasa default untuk prinsipal.
credential_id int ID kredensial yang terkait dengan prinsipal. Jika tidak ada kredensial yang terkait dengan prinsipal ini, credential_id 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. Melihat login lain memerlukan ALTER ANY LOGIN, atau izin pada login. Melihat peran server yang ditentukan pengguna memerlukan MENGUBAH PERAN SERVER APA PUN, 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.

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;  

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.

Tampilan Katalog Keamanan (Transact-SQL)
Tampilan Katalog (Transact-SQL)
Prinsipal (Mesin Database)
Hierarki Izin (Mesin Database)