sp_table_privileges (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Mengembalikan daftar izin tabel (seperti INSERT
, , DELETE
, UPDATE
SELECT
, REFERENCES
) untuk tabel atau tabel yang ditentukan.
Sintaks
sp_table_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
[ @table_name = ] N'table_name'
Tabel yang digunakan untuk mengembalikan informasi katalog. @table_name adalah nvarchar(384), tanpa default. Pencocokan pola kartubebas didukung.
[ @table_owner = ] N'table_owner'
Pemilik tabel tabel yang digunakan untuk mengembalikan informasi katalog. @table_owner adalah nvarchar(384), dengan default NULL
. Pencocokan pola kartubebas didukung. Jika pemilik tidak ditentukan, aturan visibilitas tabel default dari DBMS yang mendasar berlaku.
Jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, kolom tabel tersebut dikembalikan. Jika pemilik tidak ditentukan dan pengguna saat ini tidak memiliki tabel dengan nama yang ditentukan, prosedur ini mencari tabel dengan table_name yang ditentukan oleh pemilik database. Jika ada, kolom tabel tersebut dikembalikan.
[ @table_qualifier = ] N'table_qualifier'
Nama kualifikasi tabel. @table_qualifier adalah sysname, dengan default NULL
. 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.
[ @fUsePattern = ] fUsePattern
Menentukan apakah karakter garis bawah (_
), persen (%
), dan tanda kurung ([
atau ]
) 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_QUALIFIER |
nama sysname | Nama kualifikasi tabel. Di SQL Server, kolom ini mewakili nama database. Bidang ini bisa berupa NULL . |
TABLE_OWNER |
nama sysname | Nama pemilik 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, kolom GRANTOR mungkin merupakan pemilik database (TABLE_OWNER ) atau pengguna yang diberikan izin oleh pemilik database dengan menggunakan WITH GRANT OPTION klausul dalam GRANT pernyataan. |
GRANTEE |
nama sysname | Nama pengguna database yang telah diberikan izin pada ini TABLE_NAME oleh yang tercantum GRANTOR . Di SQL Server, kolom ini selalu menyertakan pengguna database dari sys.database_principalssystem tampilan. Bidang ini selalu mengembalikan nilai. |
PRIVILEGE |
nama sysname | 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 batasan tabel.Cakupan tindakan yang GRANTEE diberikan oleh hak istimewa tabel tertentu bergantung pada sumber data. Misalnya, UPDATE hak istimewa mungkin mengizinkan GRANTEE untuk memperbarui semua kolom dalam tabel pada satu sumber data dan hanya kolom GRANTOR yang memiliki UPDATE hak istimewa pada sumber data lain. |
IS_GRANTABLE |
nama sysname | Menunjukkan apakah diizinkan atau tidak GRANTEE untuk memberikan izin kepada pengguna lain (sering disebut sebagai izin "berikan dengan pemberian"). Bisa YES , NO , atau NULL . Nilai yang tidak diketahui (atau NULL ) mengacu pada sumber data yang "diberikan dengan pemberian" tidak berlaku. |
Keterangan
Prosedur sp_table_privileges
tersimpan setara dengan SQLTablePrivileges
di ODBC. 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 semua tabel dengan nama yang dimulai dengan kata Contact
.
USE AdventureWorks2022;
GO
EXEC sp_table_privileges @table_name = 'Contact%';