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 uprawnienia lub uprawnienia wyjątku kolumny w bazie danych. W przypadku kolumn istnieje wiersz dla każdego uprawnienia, które różni się od odpowiednich uprawnień na poziomie obiektu. Jeśli uprawnienie kolumny jest takie samo jak odpowiednie uprawnienie do obiektu, nie ma dla niego wiersza, a zastosowane uprawnienie jest uprawnieniem tego obiektu.
Important
Uprawnienia na poziomie kolumny zastępują uprawnienia na poziomie obiektu w tej samej jednostce.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| class | tinyint | Identyfikuje klasę, na której istnieje uprawnienie. Aby uzyskać więcej informacji, zobacz sys.securable_classes (Transact-SQL). 0 = baza danych 1 = obiekt lub kolumna 3 = Schemat 4 = Podmiot zabezpieczeń bazy danych 5 = Zestaw — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 6 = typ 10 = kolekcja schematów XML — Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje. 15 = Typ komunikatu — dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 16 = Umowa usługi — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 17 = Service — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 18 = Powiązanie usługi zdalnej — dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 19 = Route — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 23 =Full-Text Catalog — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 24 = Klucz symetryczny — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 25 = Certyfikat — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 26 = Klucz asymetryczny — dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 29 = Lista zatrzymań pełnotekstowych — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 31 = Lista właściwości wyszukiwania — Dotyczy: SQL Server 2008 (10.0.x) i nowszych wersjach. 32 = Poświadczenia o zakresie bazy danych — Dotyczy: SQL Server 2016 (13.x) i nowszych wersjach. 34 = Język zewnętrzny — Dotyczy: SQL Server 2019 (15.x) i nowszych wersjach. |
| class_desc | nvarchar(60) | Opis klasy, na której istnieje uprawnienie. DATABASE OBJECT_OR_COLUMN SCHEMA DATABASE_PRINCIPAL ASSEMBLY TYPE XML_SCHEMA_COLLECTION MESSAGE_TYPE SERVICE_CONTRACT SERVICE REMOTE_SERVICE_BINDING ROUTE FULLTEXT_CATALOG SYMMETRIC_KEYS CERTIFICATE ASYMMETRIC_KEY LISTA ZATRZYMAŃ PEŁNOTEKSTOWYCH LISTA WŁAŚCIWOŚCI WYSZUKIWANIA POŚWIADCZENIA O ZAKRESIE BAZY DANYCH JĘZYK ZEWNĘTRZNY |
| major_id | int | Identyfikator elementu, na którym istnieje uprawnienie, interpretowane zgodnie z klasą. Zazwyczaj major_id po prostu rodzaj identyfikatora, który ma zastosowanie do tego, co reprezentuje klasa. 0 = sama baza danych >0 = Object-IDs dla obiektów użytkownika <0 = Object-IDs dla obiektów systemowych |
| minor_id | int | Secondary-ID rzeczy, na których istnieje uprawnienie, interpretowane zgodnie z klasą. Często minor_id jest równa zero, ponieważ nie ma podkategorii dostępnej dla klasy obiektu. W przeciwnym razie jest to Column-ID tabeli. |
| grantee_principal_id | int | Identyfikator podmiotu zabezpieczeń bazy danych, do którego przyznano uprawnienia. |
| grantor_principal_id | int | Identyfikator podmiotu udzielającego tych uprawnień w bazie danych. |
| type | char(4) | Typ uprawnień bazy danych. Aby uzyskać listę typów uprawnień, zobacz następną tabelę. |
| permission_name | nvarchar(128) | Imię pozwolenia. |
| state | char(1) | Stwierdzenie zgody: D = Odmowa R = Odwołaj G = Grant W = Przyznanie z opcją przyznania |
| state_desc | nvarchar(60) | Opis stanu uprawnień: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Uprawnienia bazy danych
Możliwe są następujące typy uprawnień.
| Typ uprawnień | Nazwa uprawnienia | Dotyczy zabezpieczania |
|---|---|---|
| AADS | ZMIENIĆ DOWOLNĄ SESJĘ ZDARZEŃ BAZY DANYCH | DATABASE |
| AAMK | ZMIEŃ DOWOLNĄ MASKĘ | DATABASE |
| AEDS | ZMIENIANIE DOWOLNEGO ZEWNĘTRZNEGO ŹRÓDŁA DANYCH | DATABASE |
| AEFF | ZMIENIANIE DOWOLNEGO FORMATU PLIKU ZEWNĘTRZNEGO | DATABASE |
| AL | ALTER | ROLA APLIKACJI, ZESTAW, KLUCZ ASYMETRYCZNY, CERTYFIKAT, KONTRAKT, BAZA DANYCH, KATALOG PEŁNOTEKSTOWY, TYP KOMUNIKATU, OBIEKT, POWIĄZANIE USŁUGI ZDALNEJ, ROLA, TRASA, SCHEMAT, USŁUGA, KLUCZ SYMETRYCZNY, UŻYTKOWNIK, KOLEKCJA SCHEMATÓW XML |
| ALAK | ZMIENIANIE DOWOLNEGO KLUCZA ASYMETRYCZNEGO | DATABASE |
| ALAR | ZMIENIANIE DOWOLNEJ ROLI APLIKACJI | DATABASE |
| ALAS | ZMIENIANIE DOWOLNEGO ZESTAWU | DATABASE |
| ALCF | ZMIENIANIE DOWOLNEGO CERTYFIKATU | DATABASE |
| ALDS | ZMIENIANIE DOWOLNEJ PRZESTRZENI DANYCH | DATABASE |
| ALED | ZMIENIANIE DOWOLNEGO POWIADOMIENIA O ZDARZENIU BAZY DANYCH | DATABASE |
| ALFT | ZMIEŃ DOWOLNY KATALOG PEŁNOTEKSTOWY | DATABASE |
| ALMT | ZMIENIANIE DOWOLNEGO TYPU KOMUNIKATU | DATABASE |
| ALRL | ZMIENIANIE DOWOLNEJ ROLI | DATABASE |
| ALRT | ZMIENIANIE DOWOLNEJ TRASY | DATABASE |
| ALSB | ZMIENIANIE DOWOLNEGO POWIĄZANIA USŁUGI ZDALNEJ | DATABASE |
| ALSC | ZMIEŃ DOWOLNY KONTRAKT | DATABASE |
| ALSK | ZMIENIANIE DOWOLNEGO KLUCZA SYMETRYCZNEGO | DATABASE |
| ALSM | ZMIENIANIE DOWOLNEGO SCHEMATU | DATABASE |
| ALSV | ZMIENIANIE DOWOLNEJ USŁUGI | DATABASE |
| ALTG | ZMIENIANIE DOWOLNEGO WYZWALACZA DDL BAZY DANYCH | DATABASE |
| ALUS | ZMIENIANIE DOWOLNEGO UŻYTKOWNIKA | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | KOPIA ZAPASOWA BAZA DANYCH | DATABASE |
| BALO | DZIENNIK KOPII ZAPASOWYCH | DATABASE |
| CL | CONTROL | ROLA APLIKACJI, ZESTAW, KLUCZ ASYMETRYCZNY, CERTYFIKAT, KONTRAKT, BAZA DANYCH, KATALOG PEŁNOTEKSTOWY, TYP KOMUNIKATU, OBIEKT, POWIĄZANIE USŁUGI ZDALNEJ, ROLA, TRASA, SCHEMAT, USŁUGA, KLUCZ SYMETRYCZNY, TYP, UŻYTKOWNIK, KOLEKCJA SCHEMATÓW XML |
| CO | CONNECT | DATABASE |
| CORP | REPLIKACJA CONNECT | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | TWORZENIE AGREGACJI | DATABASE |
| CRAK | TWORZENIE KLUCZA ASYMETRYCZNEGO | DATABASE |
| CRAS | TWORZENIE ZESTAWU | DATABASE |
| CRCF | TWORZENIE CERTYFIKATU | DATABASE |
| CRDB | TWORZENIE BAZY DANYCH | DATABASE |
| CRDF | UTWÓRZ DOMYŚLNE | DATABASE |
| CRED | POWIADOMIENIE O ZDARZENIU TWORZENIA BAZY DANYCH DDL | DATABASE |
| CRFN | UTWÓRZ FUNKCJĘ | DATABASE |
| CRFT | TWORZENIE WYKAZU PEŁNOTEKSTOWEGO | DATABASE |
| CRMT | TWORZENIE TYPU KOMUNIKATU | DATABASE |
| CRPR | TWORZENIE PROCEDURY | DATABASE |
| CRQU | TWORZENIE KOLEJKI | DATABASE |
| CRRL | UTWÓRZ ROLĘ | DATABASE |
| CRRT | TWORZENIE TRASY | DATABASE |
| CRRU | TWORZENIE REGUŁY | DATABASE |
| CRSB | TWORZENIE POWIĄZANIA USŁUGI ZDALNEJ | DATABASE |
| CRSC | TWORZENIE KONTRAKTU | DATABASE |
| CRSK | TWORZENIE KLUCZA SYMETRYCZNEGO | DATABASE |
| CRSM | TWORZENIE SCHEMATU | DATABASE |
| CRSN | TWORZENIE SYNONIMU | DATABASE |
| CRSO |
Dotyczy: SQL Server 2012 (11.x) i nowsze wersje. UTWÓRZ SEKWENCJĘ |
DATABASE |
| CRSV | TWORZENIE USŁUGI | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | TWORZENIE TYPU | DATABASE |
| CRVW | UTWÓRZ WIDOK | DATABASE |
| CRXS |
Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje. TWORZENIE KOLEKCJI SCHEMATÓW XML |
DATABASE |
| DABO | ADMINISTROWANIE OPERACJAMI ZBIORCZYM BAZY DANYCH | DATABASE |
| DL | DELETE | BAZA DANYCH, OBIEKT, SCHEMAT |
| EAES | WYKONAJ DOWOLNY SKRYPT ZEWNĘTRZNY | DATABASE |
| EX | EXECUTE | ASEMBLER, BAZA DANYCH, OBIEKT, SCHEMAT, TYP, KOLEKCJA SCHEMATÓW XML |
| IM | IMPERSONATE | USER |
| IN | INSERT | BAZA DANYCH, OBIEKT, SCHEMAT |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ZESTAW, KLUCZ ASYMETRYCZNY, CERTYFIKAT, KONTRAKT, BAZA DANYCH, KATALOG PEŁNOTEKSTOWY, TYP KOMUNIKATU, OBIEKT, SCHEMAT, KLUCZ SYMETRYCZNY, TYP, KOLEKCJA SCHEMATÓW XML |
| SL | SELECT | BAZA DANYCH, OBIEKT, SCHEMAT |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | SUBSKRYBOWANIE POWIADOMIEŃ O ZAPYTANIACH | DATABASE |
| TO | PRZEJMIJ ODPOWIEDZIALNOŚĆ | ZESTAW, KLUCZ ASYMETRYCZNY, CERTYFIKAT, KONTRAKT, BAZA DANYCH, KATALOG PEŁNOTEKSTOWY, TYP KOMUNIKATU, OBIEKT, POWIĄZANIE USŁUGI ZDALNEJ, ROLA, TRASA, SCHEMAT, USŁUGA, KLUCZ SYMETRYCZNY, TYP, KOLEKCJA SCHEMATÓW XML |
| UP | UPDATE | BAZA DANYCH, OBIEKT, SCHEMAT |
| VW | DEFINICJA WIDOKU | ROLA APLIKACJI, ZESTAW, KLUCZ ASYMETRYCZNY, CERTYFIKAT, KONTRAKT, BAZA DANYCH, KATALOG PEŁNOTEKSTOWY, TYP KOMUNIKATU, OBIEKT, POWIĄZANIE USŁUGI ZDALNEJ, ROLA, TRASA, SCHEMAT, USŁUGA, KLUCZ SYMETRYCZNY, TYP, UŻYTKOWNIK, KOLEKCJA SCHEMATÓW XML |
| VWCK | WYŚWIETL DOWOLNĄ DEFINICJĘ KLUCZA SZYFROWANIA KOLUMNY | DATABASE |
| VWCM | WYŚWIETLANIE DOWOLNEJ DEFINICJI KLUCZA GŁÓWNEGO KOLUMNY | DATABASE |
| VWCT | WYŚWIETLANIE ŚLEDZENIA ZMIAN | TABELA, SCHEMAT |
| VWDS | WYŚWIETLANIE STANU BAZY DANYCH | DATABASE |
UPRAWNIENIA ODWOŁANIA i wyjątku kolumny
W większości przypadków polecenie REVOKE spowoduje usunięcie wpisu GRANT lub DENY z sys.database_permissions.
Można jednak przyznać lub odmówić uprawnień do obiektu, a następnie odwołać to uprawnienie w kolumnie. To uprawnienie wyjątku kolumny zostanie wyświetlone jako ODWOŁANIE w sys.database_permissions. Rozważmy następujący przykład:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Te uprawnienia będą wyświetlane w sys.database_permissions jako jeden grant (w tabeli) i jeden ODWOŁAJ (w kolumnie).
Important
Funkcja ODWOŁAJ różni się od opcji DENY, ponieważ podmiot zabezpieczeń Sales może nadal mieć dostęp do kolumny za pośrednictwem innych uprawnień. Jeśli odmówiliśmy uprawnień zamiast ich odwoływać, Sales nie będzie mógł wyświetlić zawartości kolumny, ponieważ odmowa zawsze zastępuje grant.
Permissions
Każdy użytkownik może zobaczyć własne uprawnienia. Aby wyświetlić uprawnienia dla innych użytkowników, wymaga funkcji VIEW DEFINITION, ALTER ANY USER lub dowolnego uprawnienia użytkownika. Aby wyświetlić role zdefiniowane przez użytkownika, wymaga ZMIANY DOWOLNEJ ROLI lub członkostwa w roli (na przykład publicznej).
Widoczność metadanych w widokach wykazu jest ograniczona do zabezpieczania, które użytkownik jest właścicielem lub na którym użytkownik otrzymał jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.
Examples
A. 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
INNER 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
Poniższe zapytanie łączy sys.database_principals i sys.database_permissions do sys.objects i sys.schemas do wyświetlania 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
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id;
C. Wyświetlanie listy uprawnień dla określonego obiektu
W poprzednim przykładzie można wykonywać zapytania dotyczące uprawnień specyficznych dla pojedynczego obiektu bazy danych.
Rozważmy na przykład następujące szczegółowe uprawnienia przyznane użytkownikowi bazy danych test w przykładowej bazie danych AdventureWorksDW2025:
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Znajdź szczegółowe uprawnienia przypisane do dbo.vAssocSeqOrders:
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
INNER JOIN sys.database_permissions AS pe ON pe.grantee_principal_id = pr.principal_id
INNER JOIN sys.objects AS o ON pe.major_id = o.object_id
INNER JOIN sys.schemas AS s ON o.schema_id = s.schema_id
WHERE o.name = 'vAssocSeqOrders'
AND s.name = 'dbo';
Zwraca dane wyjściowe:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Zobacz także
- Securables
- hierarchii uprawnień (aparatu bazy danych)
- widoki wykazu zabezpieczeń (Transact-SQL)
- widoki wykazu (Transact-SQL)
Dalsze kroki
- przyznać uprawnienie do podmiotu zabezpieczeń
- DOTACJA (Transact-SQL)