Bagikan melalui


sp_column_privileges (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure 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 = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
[ ; ]

Argumen

[ @table_name = ] N'table_name'

Tabel yang digunakan untuk mengembalikan informasi katalog. @table_name adalah sysname, tanpa default. Pencocokan pola kartubebas tidak didukung.

[ @table_owner = ] N'table_owner'

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 = ] 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.

[ @column_name = ] N'column_name'

Satu kolom yang digunakan saat hanya satu kolom informasi katalog yang diperoleh. @column_name adalah nvarchar(384), dengan default NULL. Jika @column_name tidak ditentukan, semua kolom dikembalikan. Di SQL Server, @column_name mewakili nama kolom seperti yang sys.columns tercantum dalam tabel. @column_name 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 wildcard dan _ ).

Tataan hasil

sp_column_privileges setara dengan SQLColumnPrivileges di ODBC. Hasil yang dikembalikan diurutkan oleh TABLE_QUALIFIER, , TABLE_OWNER, COLUMN_NAMETABLE_NAME, dan PRIVILEGE.

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi tabel. 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.
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 pengguna yang diberikan izin kepada pemilik database dengan menggunakan WITH GRANT OPTION klausul dalam GRANT pernyataan.
GRANTEE nama sysname Nama pengguna database yang diberikan izin pada ini COLUMN_NAME oleh yang tercantum GRANTOR. Di SQL Server, kolom ini selalu menyertakan pengguna database dari sysusers tabel. 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 menggunakan batasan tabel.
IS_GRANTABLE varchar(3) Menunjukkan apakah GRANTEE diizinkan untuk memberikan izin kepada pengguna lain (sering disebut sebagai izin "pemberian dengan pemberian"). Bisa YES, NO, atau NULL. Nilai yang tidak diketahui, atau NULL, mengacu pada sumber data yang "diberikan dengan pemberian" tidak berlaku.

Keterangan

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

Izin

SELECT Memerlukan izin 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';