sp_column_privileges_ex (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan hak istimewa kolom untuk tabel yang ditentukan pada server tertaut yang ditentukan.
Sintaks
sp_column_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
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 yang berisi kolom yang ditentukan. @table_name adalah sysname, dengan default NULL
.
[ @table_schema = ] N'table_schema'
Skema 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
.
[ @column_name = ] N'column_name'
Nama kolom yang akan memberikan informasi hak istimewa. @column_name adalah sysname, dengan default NULL
(semua umum).
Tataan hasil
Tabel berikut ini memperlihatkan kolom tataan hasil. Hasil yang dikembalikan diurutkan oleh TABLE_QUALIFIER
, , TABLE_OWNER
, COLUMN_NAME
TABLE_NAME
, dan PRIVILEGE
.
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. |
COLUMN_NAME |
nama sysname | Nama kolom, untuk setiap kolom yang TABLE_NAME dikembalikan. Bidang ini selalu mengembalikan nilai. |
GRANTOR |
nama sysname | Nama pengguna database yang diberikan izin pada ini COLUMN_NAME ke yang tercantum GRANTEE . Di SQL Server, kolom ini selalu sama dengan TABLE_OWNER . Bidang ini selalu mengembalikan nilai.Kolom GRANTOR dapat berupa pemilik database (TABLE_OWNER ) atau seseorang yang diberikan izin oleh pemilik database dengan menggunakan WITH GRANT OPTION klausa dalam GRANT pernyataan. |
GRANTEE |
nama sysname | Nama pengguna database yang diberikan izin pada ini COLUMN_NAME oleh yang tercantum GRANTOR . Bidang ini selalu mengembalikan nilai. |
PRIVILEGE |
varchar(32) | Salah satu izin kolom yang tersedia. Izin kolom bisa menjadi salah satu nilai berikut (atau nilai lain yang didukung oleh sumber data saat implementasi ditentukan):SELECT = GRANTEE dapat mengambil data untuk kolom.INSERT = GRANTEE dapat menyediakan data untuk kolom ini ketika baris baru disisipkan (menurut GRANTEE ) ke dalam tabel.UPDATE = GRANTEE dapat mengubah data yang ada di kolom.REFERENCES = GRANTEE dapat mereferensikan kolom dalam tabel asing dalam hubungan kunci primer/kunci asing. Hubungan kunci primer/kunci asing didefinisikan dengan batasan tabel. |
IS_GRANTABLE |
varchar(3) | Menunjukkan apakah GRANTEE diizinkan untuk memberikan izin kepada pengguna lain (sering disebut sebagai izin "pemberian dengan pemberian"). Bisa YA, TIDAK, atau NULL . Nilai yang tidak diketahui, atau NULL , mengacu pada sumber data di mana "pemberian dengan pemberian" tidak berlaku. |
Izin
SELECT
Memerlukan izin pada skema.
Contoh
Contoh berikut mengembalikan informasi hak istimewa kolom untuk HumanResources.Department
tabel dalam AdventureWorks2022
database di server tertaut Seattle1
.
EXEC sp_column_privileges_ex
@table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks2022';