sp_table_privileges_ex (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan informasi hak istimewa tentang tabel yang ditentukan dari server tertaut yang ditentukan.
Sintaks
sp_table_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Argumen
[ @table_server = ] N'table_server'
Nama server tertaut untuk mengembalikan informasi. @table_server adalah sysname, tanpa default.
[ @table_name = ] N'table_name'
Nama tabel untuk memberikan informasi hak istimewa tabel. @table_name adalah sysname, dengan default NULL
.
[ @table_schema = ] N'table_schema'
Skema tabel. Ini di beberapa lingkungan DBMS adalah pemilik tabel. @table_schema adalah sysname, dengan default NULL
.
[ @table_catalog = ] N'table_catalog'
Nama database tempat @table_name yang ditentukan berada. @table_catalog adalah sysname, dengan default NULL
.
[ @fUsePattern = ] fUsePattern
Menentukan apakah karakter _
, , %
[
, dan ]
ditafsirkan sebagai karakter kartubebas. Nilai yang valid adalah 0
(pencocokan pola nonaktif) dan 1
(pencocokan pola aktif). @fUsePattern adalah bit, dengan default .1
Mengembalikan nilai kode
Tidak ada.
Tataan hasil
Nama kolom | Jenis data | Deskripsi |
---|---|---|
TABLE_CAT |
nama sysname | Nama kualifikasi tabel. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (<qualifier>.<owner>.<name> ). Di SQL Server, kolom ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel. Bidang ini bisa berupa NULL . |
TABLE_SCHEM |
nama sysname | Nama pemilik tabel. Di SQL Server, kolom ini mewakili nama pengguna database yang membuat tabel. Bidang ini selalu mengembalikan nilai. |
TABLE_NAME |
nama sysname | Nama tabel. Bidang ini selalu mengembalikan nilai. |
GRANTOR |
nama sysname | Nama pengguna database yang diberikan izin pada ini TABLE_NAME ke yang tercantum GRANTEE . Di SQL Server, kolom ini selalu sama dengan TABLE_OWNER . Bidang ini selalu mengembalikan nilai. Selain itu GRANTOR , kolom mungkin pemilik database (TABLE_OWNER ) atau pengguna yang diberikan izin oleh pemilik database dengan menggunakan WITH GRANT OPTION klausa dalam GRANT pernyataan. |
GRANTEE |
nama sysname | Nama pengguna database yang telah diberikan izin pada ini TABLE_NAME oleh yang tercantum GRANTOR . Bidang ini selalu mengembalikan nilai. |
PRIVILEGE |
varchar(32) | Salah satu izin tabel yang tersedia. Izin tabel bisa menjadi salah satu nilai berikut, atau nilai lain yang didukung oleh sumber data saat implementasi ditentukan.SELECT = GRANTEE dapat mengambil data untuk satu atau beberapa kolom.INSERT = GRANTEE dapat menyediakan data untuk baris baru untuk satu atau beberapa kolom.UPDATE = GRANTEE dapat mengubah data yang ada untuk satu atau beberapa kolom.DELETE = GRANTEE dapat menghapus baris dari tabel.REFERENCES = GRANTEE dapat mereferensikan kolom dalam tabel asing dalam hubungan kunci primer/kunci asing. Di SQL Server, hubungan kunci primer/kunci asing didefinisikan dengan menggunakan batasan tabel.Cakupan tindakan yang GRANTEE diberikan oleh hak istimewa tabel tertentu bergantung pada sumber data. Misalnya, UPDATE izin dapat mengaktifkan GRANTEE untuk memperbarui semua kolom dalam tabel pada satu sumber data dan hanya kolom GRANTOR yang memiliki izin UPDATE pada sumber data lain. |
IS_GRANTABLE |
varchar(3) | Menunjukkan apakah GRANTEE diizinkan untuk memberikan izin kepada pengguna lain. Ini sering disebut sebagai izin "pemberian dengan pemberian". Bisa YES , NO , atau NULL . Nilai yang tidak diketahui, atau NULL , mengacu pada sumber data di mana "pemberian dengan pemberian" tidak berlaku. |
Keterangan
Hasil yang dikembalikan diurutkan oleh TABLE_QUALIFIER
, , TABLE_NAME
TABLE_OWNER
, dan PRIVILEGE
.
Izin
SELECT
Memerlukan izin pada skema.
Contoh
Contoh berikut mengembalikan informasi hak istimewa tentang tabel dengan nama yang dimulai dengan Product
dalam AdventureWorks2022
database dari server Seattle1
tertaut yang ditentukan . SQL Server diasumsikan sebagai server tertaut.
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2022';