Bagikan melalui


sp_column_privileges_ex (T-SQL)

Berlaku untuk: SQL Server

Mengembalikan hak istimewa kolom untuk tabel yang ditentukan pada server tertaut yang ditentukan.

Konvensi sintaks transact-SQL

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