sys.database_permissions (Transact-SQL)

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan baris untuk setiap izin atau izin pengecualian kolom dalam database. Untuk kolom, ada baris untuk setiap izin yang berbeda dari izin tingkat objek terkait. Jika izin kolom sama dengan izin objek yang sesuai, tidak ada baris untuk itu dan izin yang diterapkan adalah objek .

Penting

Izin tingkat kolom mengambil alih izin tingkat objek pada entitas yang sama.

Nama kolom Jenis data Deskripsi
kelas tinyint Mengidentifikasi kelas tempat izin ada. Untuk informasi selengkapnya, lihat sys.securable_classes (Transact-SQL).

0 = Database
1 = Objek atau Kolom
3 = Skema
4 = Prinsipal Database
5 = Assembly - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
6 = Jenis
10 = Koleksi Skema XML -
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
15 = Jenis Pesan - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
16 = Kontrak Layanan - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
17 = Layanan - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
18 = Pengikatan Layanan Jarak Jauh - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
19 = Rute - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
23 =Katalog Teks Lengkap - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
24 = Kunci Konten - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
25 = Sertifikat - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
26 = Kunci Asimetris - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
29 = Daftar Henti Teks Penuh - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
31 = Daftar Properti Pencarian - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
32 = Kredensial Cakupan Database - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
34 = Bahasa Eksternal - Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.
class_desc nvarchar(60) Deskripsi kelas tempat izin ada.

DATABASE

OBJECT_OR_COLUMN

SKEMA

DATABASE_PRINCIPAL

RAKITAN

JENIS

XML_SCHEMA_COLLECTION

MESSAGE_TYPE

SERVICE_CONTRACT

LAYANAN

REMOTE_SERVICE_BINDING

RUTE

FULLTEXT_CATALOG

SYMMETRIC_KEYS

SERTIFIKAT

ASYMMETRIC_KEY

DAFTAR HENTI TEKS PENUH

DAFTAR PROPERTI PENCARIAN

DATABASE SCOPED CREDENTIAL

BAHASA EKSTERNAL
major_id int ID hal yang izinnya ada, ditafsirkan sesuai dengan kelas. Biasanya, major_id hanyalah jenis ID yang berlaku untuk apa yang diwakili kelas.

0 = Database itu sendiri

>0 = Object-IDs untuk objek pengguna

<0 = Object-IDs untuk objek sistem
minor_id int ID sekunder dari hal yang izinnya ada, ditafsirkan menurut kelas. Seringkali, minor_id adalah nol, karena tidak ada subkataan yang tersedia untuk kelas objek. Jika tidak, ini adalah ID Kolom dari tabel.
grantee_principal_id int ID utama database tempat izin diberikan.
grantor_principal_id int ID utama database pemberi izin ini.
jenis 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 = Pemberian

W = Opsi Hibah Dengan Pemberian
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 securable
AADS MENGUBAH SESI PERISTIWA DATABASE APA PUN DATABASE
AAMK MENGUBAH MASKER APA PUN DATABASE
AED ALTER ANY EXTERNAL DATA SOURCE DATABASE
AEFF ALTER ANY EXTERNAL FILE FORMAT DATABASE
AL ALTER PERAN APLIKASI, RAKITAN, KUNCI ASIMETRIS, SERTIFIKAT, KONTRAK, DATABASE, KATALOG TEKS LENGKAP, JENIS PESAN, OBJEK, PENGIKATAN LAYANAN JARAK JAUH, PERAN, RUTE, SKEMA, LAYANAN, KUNCI SIMETRIS, PENGGUNA, KOLEKSI SKEMA XML
ALAK MENGUBAH KUNCI ASIMETRIS APA PUN DATABASE
ALAR MENGUBAH PERAN APLIKASI APA PUN DATABASE
SAYANGNYA MENGUBAH ASSEMBLY APA PUN DATABASE
ALCF MENGUBAH SERTIFIKAT APA PUN DATABASE
ALDS MENGUBAH RUANG DATA APA PUN DATABASE
ALED MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN DATABASE
ALFT MENGUBAH KATALOG FULLTEXT APA PUN DATABASE
ALMT MENGUBAH JENIS PESAN APA PUN DATABASE
ALRL MENGUBAH PERAN APA PUN DATABASE
ALRT MENGUBAH RUTE APA PUN DATABASE
ALSB MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN DATABASE
ALSC MENGUBAH KONTRAK APA PUN DATABASE
ALSK MENGUBAH KUNCI SIMETRIS APA PUN DATABASE
ALSM ALTER ANY SCHEMA DATABASE
ALSV MENGUBAH LAYANAN APA PUN DATABASE
ALTG MENGUBAH PEMICU DDL DATABASE APA PUN DATABASE
ALUS MENGUBAH PENGGUNA APA PUN DATABASE
AUTH MENGOTENTIKASI DATABASE
BADB DATABASE CADANGAN DATABASE
BALO LOG CADANGAN DATABASE
CL CONTROL PERAN APLIKASI, RAKITAN, KUNCI ASIMETRIS, SERTIFIKAT, KONTRAK, DATABASE, KATALOG TEKS LENGKAP, JENIS PESAN, OBJEK, PENGIKATAN LAYANAN JARAK JAUH, PERAN, RUTE, SKEMA, LAYANAN, KUNCI SIMETRIS, JENIS, PENGGUNA, KOLEKSI SKEMA XML
CO MENGHUBUNG DATABASE
CORP SAMBUNGKAN REPLIKASI DATABASE
CP TITIK PEMERIKSAAN DATABASE
KARANG CREATE AGGREGATE DATABASE
CRAK MEMBUAT KUNCI ASIMETRIS DATABASE
CRAS BUAT RAKITAN DATABASE
CRCF BUAT SERTIFIKAT DATABASE
CRDB BUAT DATABASE DATABASE
CRDF BUAT DEFAULT DATABASE
CRED MEMBUAT PEMBERITAHUAN PERISTIWA DDL DATABASE DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT BUAT KATALOG TEKS LENGKAP DATABASE
CRMT MEMBUAT JENIS PESAN DATABASE
CRPR CREATE PROCEDURE DATABASE
CRQU BUAT ANTREAN DATABASE
CRRL CREATE ROLE DATABASE
CRRT BUAT RUTE DATABASE
CRRU BUAT ATURAN DATABASE
CRSB MEMBUAT PENGIKATAN LAYANAN JARAK JAUH DATABASE
CRSC BUAT KONTRAK DATABASE
CRSK MEMBUAT KUNCI SIMETRIS DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN MEMBUAT SINONIM DATABASE
CRSO Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.

BUAT URUTAN
DATABASE
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTY CREATE TYPE DATABASE
CRVW BUAT TAMPILAN DATABASE
CRXS Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru.

MEMBUAT KOLEKSI SKEMA XML
DATABASE
DABO ADMINISTER DATABASE BULK OPERATIONS DATABASE
DL DELETE DATABASE, OBJEK, SKEMA
EAES JALANKAN SKRIP EKSTERNAL APA PUN DATABASE
EX EXECUTE ASSEMBLY, DATABASE, OBJECT, SCHEMA, TYPE, XML SCHEMA COLLECTION
IM MENIRU USER
IN INSERT DATABASE, OBJEK, SKEMA
RC TERIMA OBJECT
RF REFERENCES ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, SCHEMA, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION
SL SELECT DATABASE, OBJEK, SKEMA
SN KIRIM LAYANAN
SPLN SHOWPLAN DATABASE
SUQN BERLANGGANAN PEMBERITAHUAN KUERI DATABASE
TO AMBIL KEPEMILIKAN ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION
UP UPDATE DATABASE, OBJEK, SKEMA
VW MELIHAT DEFINISI PERAN APLIKASI, RAKITAN, KUNCI ASIMETRIS, SERTIFIKAT, KONTRAK, DATABASE, KATALOG TEKS LENGKAP, JENIS PESAN, OBJEK, PENGIKATAN LAYANAN JARAK JAUH, PERAN, RUTE, SKEMA, LAYANAN, KUNCI SIMETRIS, JENIS, PENGGUNA, KOLEKSI SKEMA XML
VWCK MENAMPILKAN DEFINISI KUNCI ENKRIPSI KOLOM APA PUN DATABASE
VWCM MENAMPILKAN DEFINISI KUNCI MASTER KOLOM APA PUN DATABASE
VWCT LIHAT PELACAKAN PERUBAHAN TABEL, SKEMA
VWD TAMPILKAN STATUS DATABASE DATABASE

Izin

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 UBAH PERAN APA PUN, atau keanggotaan dalam peran (seperti publik).

Visibilitas metadata dalam tampilan katalog terbatas pada securable yang dimiliki pengguna atau di mana pengguna telah diberi beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Contoh

A: Mencantumkan semua izin prinsipal database

Kueri berikut mencantumkan izin yang secara eksplisit diberikan atau ditolak untuk prinsipal database.

Penting

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  
JOIN sys.database_permissions AS pe  
    ON pe.grantee_principal_id = pr.principal_id;  

B: Mencantumkan izin pada objek skema dalam database

Kueri berikut ini menggabungkan sys.database_principals dan sys.database_permissions ke sys.objects dan sys.schemas untuk mencantumkan izin yang diberikan atau ditolak untuk objek skema tertentu.

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;  

Lihat juga

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