sp_column_privileges (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengembalikan informasi hak istimewa kolom untuk satu tabel di lingkungan saat ini.

Konvensi sintaks transact-SQL

Sintaks

  
sp_column_privileges [ @table_name = ] 'table_name'   
     [ , [ @table_owner = ] 'table_owner' ]   
     [ , [ @table_qualifier = ] 'table_qualifier' ]   
     [ , [ @column_name = ] 'column' ]  

Argumen

[ @table_name= ] 'table_name'
Apakah tabel digunakan untuk mengembalikan informasi katalog. table_name adalah sysname, tanpa default. Pencocokan pola kartubebas tidak didukung.

[ @table_owner= ] 'table_owner'
Adalah pemilik tabel yang digunakan untuk mengembalikan informasi katalog. table_owner adalah sysname, dengan default NULL. Pencocokan pola kartubebas tidak didukung. Jika table_owner tidak ditentukan, aturan visibilitas tabel default dari sistem manajemen database (DBMS) yang mendasar berlaku.

Jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, kolom tabel tersebut akan dikembalikan. Jika table_owner tidak ditentukan dan pengguna saat ini tidak memiliki tabel dengan table_name yang ditentukan, sp_column hak istimewa mencari tabel dengan table_name yang ditentukan yang dimiliki oleh pemilik database. Jika ada, kolom tabel tersebut dikembalikan.

[ @table_qualifier= ] 'table_qualifier'
Adalah nama kualifikasi tabel. table_qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (kualifikasi.pemilik.nama). Di SQL Server, kolom ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.

[ @column_name= ] 'kolom'
Adalah kolom tunggal yang digunakan ketika hanya satu kolom informasi katalog yang diperoleh. kolom adalah nvarchar(384), dengan default NULL. Jika kolom tidak ditentukan, semua kolom dikembalikan. Di SQL Server, kolom mewakili nama kolom seperti yang tercantum dalam tabel sys.columns. kolom dapat menyertakan karakter kartubebas menggunakan pola pencocokan kartubebas dari DBMS yang mendasar. Untuk interoperabilitas maksimum, klien gateway harus mengasumsikan hanya pencocokan pola standar ISO (karakter % dan _ kartubebas).

Tataan Hasil

sp_column_privileges setara dengan SQLColumnPrivileges di ODBC. Hasil yang dikembalikan diurutkan berdasarkan TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, dan HAK ISTIMEWA.

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi tabel. Bidang ini bisa NULL.
TABLE_OWNER nama sysname Nama pemilik 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 TABLE_NAME dikembalikan. Bidang ini selalu mengembalikan nilai.
GRANTOR nama sysname Nama pengguna database yang telah memberikan izin pada COLUMN_NAME ini ke GRANTEE yang tercantum. Di SQL Server, kolom ini selalu sama dengan TABLE_OWNER. Bidang ini selalu mengembalikan nilai.

Kolom GRANTOR dapat berupa pemilik database (TABLE_OWNER) atau pengguna yang diberikan izin kepada pemilik database dengan menggunakan klausul WITH GRANT OPTION dalam pernyataan GRANT.
PENERIMA HIBAH nama sysname Nama pengguna database yang telah diberikan izin pada COLUMN_NAME ini oleh GRANTOR yang tercantum. Di SQL Server, kolom ini selalu menyertakan pengguna database dari tabel sysusers. Bidang ini selalu mengembalikan nilai.
HAK ISTIMEWA 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 (oleh GRANTEE) ke dalam tabel.

UPDATE = GRANTEE dapat memodifikasi 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 menggunakan batasan tabel.
IS_GRANTABLE varchar(3) Menunjukkan apakah GRANTEE diizinkan untuk memberikan izin kepada pengguna lain (sering disebut sebagai izin "berikan dengan pemberian"). Bisa YA, TIDAK, atau NULL. Nilai yang tidak diketahui, atau NULL, mengacu pada sumber data yang "diberikan dengan hibah" tidak berlaku.

Keterangan

Dengan SQL Server, izin diberikan dengan pernyataan GRANT dan diambil oleh pernyataan REVOKE.

Izin

Memerlukan izin SELECT pada skema.

Contoh

Contoh berikut mengembalikan informasi hak istimewa kolom untuk kolom tertentu.

USE AdventureWorks2022;  
GO  
EXEC sp_column_privileges @table_name = 'Employee'   
    ,@table_owner = 'HumanResources'  
    ,@table_qualifier = 'AdventureWorks2022'  
    ,@column_name = 'SalariedFlag';  

Lihat Juga

GRANT (T-SQL)
MENCABUT (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)