Bagikan melalui


sp_table_privileges_ex (T-SQL)

Berlaku untuk:SQL Server

Mengembalikan informasi hak istimewa tentang tabel yang ditentukan dari server tertaut yang ditentukan.

Konvensi sintaks transact-SQL

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_NAMETABLE_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 Seattle1tertaut 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';