Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca wiersz dla każdego podmiotu zabezpieczeń w bazie danych programu SQL Server.
Note
Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).
Opisy kolumn
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| name | sysname | Nazwa podmiotu zabezpieczeń, unikatowa w bazie danych. |
| principal_id | int | Identyfikator podmiotu zabezpieczeń, unikatowy w bazie danych. |
| type | char(1) | Typ podmiotu zabezpieczeń: A = Rola aplikacji C = Użytkownik zamapowany na certyfikat E = użytkownik zewnętrzny z identyfikatora Entra firmy Microsoft G = grupa systemu Windows K = Użytkownik zamapowany na klucz asymetryczny R = rola bazy danych S = użytkownik SQL U = użytkownik systemu Windows X = grupa zewnętrzna z grupy lub aplikacji firmy Microsoft Entra |
| type_desc | nvarchar(60) | Opis typu podmiotu zabezpieczeń. APPLICATION_ROLE CERTIFICATE_MAPPED_USER EXTERNAL_USER WINDOWS_GROUP ASYMMETRIC_KEY_MAPPED_USER DATABASE_ROLE SQL_USER WINDOWS_USER EXTERNAL_GROUPS |
| default_schema_name | sysname | Nazwa, która ma być używana, gdy nazwa SQL nie określa schematu. Wartość null dla podmiotów zabezpieczeń, które nie mają typu S, U lub A. |
| create_date | datetime | Godzina utworzenia podmiotu zabezpieczeń. |
| modify_date | datetime | Czas ostatniej modyfikacji podmiotu zabezpieczeń. |
| owning_principal_id | int | Identyfikator podmiotu zabezpieczeń, który jest właścicielem tego podmiotu zabezpieczeń. Wszystkie stałe role bazy danych są domyślnie własnością dbo . |
| Sid | varbinary(85) | Identyfikator SID (identyfikator zabezpieczeń) podmiotu zabezpieczeń. WARTOŚĆ NULL dla SCHEMATÓW SYS i INFORMATION. |
| is_fixed_role | bit | Jeśli 1, ten wiersz reprezentuje wpis dla jednej ze stałych ról bazy danych: db_owner, db_accessadmin, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter. |
| authentication_type | int |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Oznacza typ uwierzytelniania. Poniżej przedstawiono możliwe wartości i ich opisy. 0: Brak uwierzytelniania 1: Uwierzytelnianie wystąpienia 2: Uwierzytelnianie bazy danych 3: Uwierzytelnianie systemu Windows 4: Uwierzytelnianie firmy Microsoft Entra |
| authentication_type_desc | nvarchar(60) |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Opis typu uwierzytelniania. Poniżej przedstawiono możliwe wartości i ich opisy. NONE : Brak uwierzytelnianiaINSTANCE : Uwierzytelnianie wystąpieniaDATABASE : Uwierzytelnianie bazy danychWINDOWS : Uwierzytelnianie systemu WindowsEXTERNAL: Uwierzytelnianie firmy Microsoft Entra |
| default_language_name | sysname |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Oznacza domyślny język dla tego podmiotu zabezpieczeń. |
| default_language_lcid | int |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Oznacza domyślny identyfikator LCID dla tego podmiotu zabezpieczeń. |
| allow_encrypted_value_modifications | bit |
Dotyczy: SQL Server 2016 (13.x) i nowszych, SQL Database. Pomija sprawdzanie metadanych kryptograficznych na serwerze w operacjach kopiowania zbiorczego. Dzięki temu użytkownik może zbiorczo kopiować dane zaszyfrowane przy użyciu funkcji Always Encrypted między tabelami lub bazami danych bez odszyfrowywania danych. Wartość domyślna to WYŁĄCZONE. |
Remarks
Właściwości PasswordLastSetTime są dostępne we wszystkich obsługiwanych konfiguracjach programu SQL Server, ale inne właściwości są dostępne tylko wtedy, gdy program SQL Server jest uruchomiony w systemie Windows Server 2003 lub nowszym, a zarówno CHECK_POLICY, jak i CHECK_EXPIRATION są włączone. Aby uzyskać więcej informacji, zobacz Zasady haseł . Wartości principal_id mogą być ponownie używane w przypadku, gdy podmioty zabezpieczeń zostały odrzucone i dlatego nie ma gwarancji, że stale rośnie.
Permissions
Każdy użytkownik może zobaczyć własną nazwę użytkownika, użytkowników systemu i stałe role bazy danych. Aby wyświetlić innych użytkowników, wymaga ZMIANY DOWOLNEGO UŻYTKOWNIKA lub uprawnienia użytkownika. Aby wyświetlić role zdefiniowane przez użytkownika, wymaga ZMIANY DOWOLNEJ ROLI lub członkostwa w roli.
Examples
1: Wyświetlanie listy wszystkich uprawnień podmiotów zabezpieczeń bazy danych
Poniższe zapytanie zawiera listę uprawnień jawnie udzielonych lub odrzuconych podmiotom zabezpieczeń bazy danych.
Important
Uprawnienia stałych ról bazy danych nie są wyświetlane w sys.database_permissions. W związku z tym podmioty zabezpieczeń bazy danych mogą mieć dodatkowe uprawnienia, które nie są wymienione tutaj.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
B: Wyświetlanie listy uprawnień do obiektów schematu w bazie danych
Następujące zapytanie łączy sys.database_principals i sys.database_permissions do obiektów sys.objects i sys.schemas w celu wyświetlenia listy uprawnień przyznanych lub odrzuconych do określonych obiektów schematu.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc,
pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
ON pe.major_id = o.object_id
JOIN sys.schemas AS s
ON o.schema_id = s.schema_id;
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
C: Wyświetlanie listy wszystkich uprawnień podmiotów zabezpieczeń bazy danych
Poniższe zapytanie zawiera listę uprawnień jawnie udzielonych lub odrzuconych podmiotom zabezpieczeń bazy danych.
Important
Uprawnienia stałych ról bazy danych nie są wyświetlane w sys.database_permissions. W związku z tym podmioty zabezpieczeń bazy danych mogą mieć dodatkowe uprawnienia, które nie są wymienione tutaj.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
D: Wyświetlanie listy uprawnień do obiektów schematu w bazie danych
Poniższe zapytanie łączy sys.database_principals i do sys.database_permissions i sys.objectssys.schemas do listy uprawnień przyznanych lub odrzuconych do określonych obiektów schematu.
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc,
pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
ON pe.major_id = o.object_id
JOIN sys.schemas AS s
ON o.schema_id = s.schema_id;
Zobacz też
Podmioty (aparat bazy danych)
sys.server_principals (Transact-SQL)
Widoki wykazu zabezpieczeń (Transact-SQL)
Użytkownicy zawartej bazy danych — tworzenie przenośnej bazy danych
Nawiązywanie połączenia z usługą Azure SQL przy użyciu uwierzytelniania entra firmy Microsoft