sp_column_privileges (T-SQL)
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Mengembalikan informasi hak istimewa kolom untuk satu tabel di lingkungan saat ini.
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_NAME
TABLE_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';
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk