Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Mengembalikan baris untuk setiap izin atau izin pengecualian kolom dalam database. Untuk kolom, ada baris untuk setiap izin yang berbeda dari izin tingkat objek yang sesuai. Jika izin kolom sama dengan izin objek yang sesuai, tidak ada baris untuk itu dan izin yang diterapkan adalah objek.
Important
Izin tingkat kolom mengambil alih izin tingkat objek pada entitas yang sama.
| Nama kolom | Jenis data | Description |
|---|---|---|
| class | tinyint | Mengidentifikasi kelas tempat izin ada. Untuk informasi selengkapnya, lihat sys.securable_classes (Transact-SQL). 0 = Basis data 1 = Objek atau Kolom 3 = Skema 4 = Prinsipal Database 5 = Assembly - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 6 = Jenis 10 = Koleksi Skema XML - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 15 = Jenis Pesan - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 16 = Kontrak Layanan - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 17 = Layanan - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 18 = Pengikatan Layanan Jarak Jauh - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 19 = Rute - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 23 =Katalog Teks Lengkap - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 24 = Kunci Konten - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 25 = Sertifikat - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 26 = Kunci Asimetris - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 29 = Daftar Henti Fulltext - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 31 = Daftar Properti Pencarian - Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. 32 = Kredensial Cakupan Database - Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru. 34 = Bahasa Eksternal - Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru. |
| class_desc | nvarchar(60) | Deskripsi kelas tempat izin ada. 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 FULLTEXT STOPLIST SEARCH PROPERTY LIST DATABASE SCOPED CREDENTIAL EXTERNAL LANGUAGE |
| major_id | int | ID hal di mana izin ada, ditafsirkan sesuai dengan kelas. Biasanya, major_id jenis ID sederhana yang berlaku untuk apa yang diwakili kelas. 0 = Database itu sendiri >0 = ID Objek untuk objek pengguna <0 = ID Objek untuk objek sistem |
| minor_id | int | ID sekunder dari hal yang izinnya ada, ditafsirkan sesuai dengan kelas. Seringkali, minor_id adalah nol, karena tidak ada subkataan yang tersedia untuk kelas objek. Jika tidak, itu adalah ID Kolom tabel. |
| grantee_principal_id | int | ID utama database tempat izin diberikan. |
| grantor_principal_id | int | ID utama database pemberi izin ini. |
| type | char(4) | Jenis izin database. Untuk daftar jenis izin, lihat tabel berikutnya. |
| permission_name | nvarchar(128) | Nama izin. |
| state | char(1) | Status izin: D = Tolak R = Cabut G = Hibah W = Hibah dengan opsi hibah |
| state_desc | nvarchar(60) | Deskripsi status izin: DENY REVOKE GRANT GRANT_WITH_GRANT_OPTION |
Izin Database
Jenis izin berikut dimungkinkan.
| Jenis izin | Nama izin | Berlaku untuk dapat diamankan |
|---|---|---|
| AADS | UBAH APA SAJA DATABASEEVENT SESSION | DATABASE |
| AAMK | UBAH MASKER APA PUN | DATABASE |
| AEDS | MENGUBAH SEMUA EXTERNAL DATA SOURCE | DATABASE |
| AEFF | MENGUBAH SEMUA EXTERNAL FILE FORMAT | DATABASE |
| AL | ALTER | APPLICATION ROLE, , ASSEMBLY, ASYMMETRIC KEY, CERTIFICATECONTRACTDATABASEFULLTEXT CATALOGMESSAGE TYPEREMOTE SERVICE BINDINGROLEROUTESCHEMASERVICESYMMETRIC KEYUSERXML SCHEMA COLLECTION |
| ALAK | MENGUBAH SEMUA ASYMMETRIC KEY | DATABASE |
| ALAR | MENGUBAH SEMUA APPLICATION ROLE | DATABASE |
| ALAS | MENGUBAH SEMUA ASSEMBLY | DATABASE |
| ALCF | MENGUBAH SEMUA CERTIFICATE | DATABASE |
| ALDS | MENGUBAH RUANG DATA APA PUN | DATABASE |
| ALED | UBAH APA SAJA DATABASEEVENT NOTIFICATION | DATABASE |
| ALFT | MENGUBAH SEMUA FULLTEXT CATALOG | DATABASE |
| ALMT | MENGUBAH SEMUA MESSAGE TYPE | DATABASE |
| ALRL | MENGUBAH SEMUA ROLE | DATABASE |
| ALRT | MENGUBAH SEMUA ROUTE | DATABASE |
| ALSB | MENGUBAH SEMUA REMOTE SERVICE BINDING | DATABASE |
| ALSC | MENGUBAH SEMUA CONTRACT | DATABASE |
| ALSK | MENGUBAH SEMUA SYMMETRIC KEY | DATABASE |
| ALSM | MENGUBAH SEMUA SCHEMA | DATABASE |
| ALSV | MENGUBAH SEMUA SERVICE | DATABASE |
| ALTG | UBAH DDL APA PUN DATABASETRIGGER | DATABASE |
| ALUS | MENGUBAH SEMUA USER | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| BADB | BACKUP DATABASE | DATABASE |
| BALO | BACKUP CATATAN | DATABASE |
| CL | CONTROL | APPLICATION ROLE, , ASSEMBLY, ASYMMETRIC KEYCERTIFICATECONTRACTDATABASEFULLTEXT CATALOGMESSAGE TYPEREMOTE SERVICE BINDINGROLEROUTESCHEMASERVICESYMMETRIC KEYTYPEUSERXML SCHEMA COLLECTION |
| CO | CONNECT | DATABASE |
| CORP | MENGHUBUNGKAN REPLIKASI | DATABASE |
| CP | CHECKPOINT | DATABASE |
| CRAG | CREATE AGGREGATE | DATABASE |
| CRAK | CREATE ASYMMETRIC KEY | DATABASE |
| CRAS | CREATE ASSEMBLY | DATABASE |
| CRCF | CREATE CERTIFICATE | DATABASE |
| CRDB | CREATE DATABASE | DATABASE |
| CRDF | CREATE DEFAULT | DATABASE |
| CRED | CREATE DATABASE DDL EVENT NOTIFICATION | DATABASE |
| CRFN | CREATE FUNCTION | DATABASE |
| CRFT | CREATE FULLTEXT CATALOG | DATABASE |
| CRMT | CREATE MESSAGE TYPE | DATABASE |
| CRPR | CREATE PROCEDURE | DATABASE |
| CRQU | CREATE QUEUE | DATABASE |
| CRRL | CREATE ROLE | DATABASE |
| CRRT | CREATE ROUTE | DATABASE |
| CRRU | CREATE RULE | DATABASE |
| CRSB | CREATE REMOTE SERVICE BINDING | DATABASE |
| CRSC | CREATE CONTRACT | DATABASE |
| CRSK | CREATE SYMMETRIC KEY | DATABASE |
| CRSM | CREATE SCHEMA | DATABASE |
| CRSN | CREATE SYNONYM | DATABASE |
| CRSO |
Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru. CREATE SEQUENCE |
DATABASE |
| CRSV | CREATE SERVICE | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTY | CREATE TYPE | DATABASE |
| CRVW | CREATE VIEW | DATABASE |
| CRXS |
Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru. CREATE XML SCHEMA COLLECTION |
DATABASE |
| DABO | MENGELOLA DATABASE OPERASI MASSAL | DATABASE |
| DL | DELETE | DATABASE, OBJEK, SCHEMA |
| EAES | JALANKAN SKRIP EKSTERNAL APA PUN | DATABASE |
| EX | EXECUTE | ASSEMBLY, DATABASE, OBJEK, SCHEMA, TYPE, XML SCHEMA COLLECTION |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABASE, OBJEK, SCHEMA |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLY, , ASYMMETRIC KEYCERTIFICATE, CONTRACTDATABASEFULLTEXT CATALOG, , , MESSAGE TYPESCHEMASYMMETRIC KEYTYPEXML SCHEMA COLLECTION |
| SL | SELECT | DATABASE, OBJEK, SCHEMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | BERLANGGANAN PEMBERITAHUAN KUERI | DATABASE |
| TO | AMBIL KEPEMILIKAN | ASSEMBLY, , ASYMMETRIC KEY, CERTIFICATECONTRACTDATABASEFULLTEXT CATALOGMESSAGE TYPEREMOTE SERVICE BINDINGROLEROUTESCHEMASERVICESYMMETRIC KEYTYPEXML SCHEMA COLLECTION |
| UP | UPDATE | DATABASE, OBJEK, SCHEMA |
| VW | VIEW DEFINISI | APPLICATION ROLE, , ASSEMBLY, ASYMMETRIC KEYCERTIFICATECONTRACTDATABASEFULLTEXT CATALOGMESSAGE TYPEREMOTE SERVICE BINDINGROLEROUTESCHEMASERVICESYMMETRIC KEYTYPEUSERXML SCHEMA COLLECTION |
| VWCK | VIEWDEFINISI APA PUN COLUMN ENCRYPTION KEY | DATABASE |
| VWCM | VIEWDEFINISI APA PUN COLUMN MASTER KEY | DATABASE |
| VWCT | VIEW PELACAKAN PERUBAHAN | TABLE, SCHEMA |
| VWDS | VIEW DATABASE NEGARA | DATABASE |
REVOKE dan izin pengecualian kolom
Dalam kebanyakan kasus, perintah akan REVOKE menghapus entri GRANT atau DENY dari sys.database_permissions.
Namun, dimungkinkan untuk GRANT atau DENY izin pada objek dan kemudian REVOKE izin tersebut pada kolom. Izin pengecualian kolom ini akan muncul seperti REVOKE pada sys.database_permissions. Pertimbangkan contoh berikut:
GRANT SELECT ON Person.Person TO [Sales];
REVOKE SELECT ON Person.Person(AdditionalContactInfo) FROM [Sales];
Izin ini akan muncul dalam sys.database_permissions sebagai satu GRANT (pada tabel) dan satu REVOKE (pada kolom).
Important
REVOKE berbeda dari DENY, karena prinsipal Sales mungkin masih memiliki akses ke kolom melalui izin lain. Seandainya kami menolak izin daripada mencabutnya, Sales tidak akan dapat melihat isi kolom karena DENY selalu menggantikan GRANT.
Permissions
Setiap pengguna dapat melihat izin mereka sendiri. Untuk melihat izin untuk pengguna lain, memerlukan VIEW DEFINITION, ALTER ANY USER, atau izin apa pun pada pengguna. Untuk melihat peran yang ditentukan pengguna, memerlukan ALTER ANY ROLE, atau keanggotaan dalam peran (seperti publik).
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.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin VIEW SECURITY DEFINITION pada database.
Examples
A. Mencantumkan semua izin prinsipal database
Kueri berikut mencantumkan izin yang secara eksplisit diberikan atau ditolak untuk prinsipal database.
Important
Izin peran database tetap tidak muncul di sys.database_permissions. Oleh karena itu, prinsipal database mungkin memiliki izin tambahan yang tidak tercantum di sini.
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. Mencantumkan izin pada objek skema dalam database
Kueri berikut menggabungkan sys.database_principals dan ke sys.objectssys.database_permissions
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 pe.class = 1;
C. Mencantumkan izin untuk objek tertentu
Anda bisa menggunakan contoh sebelumnya untuk mengkueri izin khusus untuk satu objek database.
Misalnya, pertimbangkan izin terperinci berikut yang diberikan kepada pengguna test database dalam databaseAdventureWorksDW2025sampel :
GRANT SELECT ON dbo.vAssocSeqOrders TO [test];
Temukan izin terperinci yang ditetapkan ke 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 pe.class = 1
AND o.name = 'vAssocSeqOrders'
AND s.name = 'dbo';
Mengembalikan output:
principal_id name type_desc authentication_type_desc state_desc permission_name ObjectName
5 test SQL_USER INSTANCE GRANT SELECT dbo.vAssocSeqOrders
Konten terkait
- Securables
- Hierarki Izin (Mesin Database)
- Tampilan Katalog Keamanan (Transact-SQL)
- Tampilan Katalog (Transact-SQL)