Aracılığıyla paylaş


sp_column_privileges (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Mevcut ortamda tek bir tablo için sütun ayrıcalık bilgisini döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_column_privileges
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
[ ; ]

Arguments

[ @table_name = ] N'table_name'

Katalog bilgisini döndürmek için kullanılan tablo. @table_namesysname'dir, varsayılan yoktur. Wildcard desen eşleştirme desteklenmiyor.

[ @table_owner = ] N'table_owner'

Tablonun sahibi katalog bilgilerini döndürürdü. @table_ownersysname'dir ve varsayılan olarak .NULL Wildcard desen eşleştirme desteklenmiyor. Eğer @table_owner belirtilmemişse, temel veritabanı yönetim sisteminin (DBMS) varsayılan tablo görünürlüğü kuralları uygulanır.

Mevcut kullanıcı belirtilen isimle bir tabloya sahipse, o tablonun sütunları döner. Eğer @table_owner belirtilmemişse ve mevcut kullanıcı belirtilen @table_name tabloya sahip değilse, sp_column ayrıcalıklar veritabanı sahibine ait @table_name belirtilen bir tablo arar. Eğer bir tane varsa, o tablonun sütunları geri döner.

[ @table_qualifier = ] N'table_qualifier'

Tablo nitelendirmesinin adı. @table_qualifiersysname'dir ve varsayılan olarak .NULL Çeşitli DBMS ürünleri, tablolar için üç bölümlü adlandırmayı destekler (<qualifier>.<owner>.<name>). SQL Server'da bu sütun veritabanı adını temsil eder. Bazı ürünlerde, tablonun veritabanı ortamının sunucu adını temsil eder.

[ @column_name = ] N'column_name'

Sadece bir katalog bilgisi sütunu alındığında kullanılan tek bir sütun. @column_namenvarchar(384)'dür ve varsayılan olarak .NULL Eğer @column_name belirtilmemişse, tüm sütunlar geri gönderilir. SQL Server'da @column_name , tabloda listelenen sütun adını sys.columns temsil eder. @column_name , alt DBMS'nin joker eşleştirme desenlerini kullanan joker karakterleri içerebilir. Maksimum birlikte çalışabilirlik için, gateway istemcisi yalnızca ISO standart desen eşleştirmesini ( % ve _ joker karakterleri) varsaymalıdır.

Sonuç kümesi

sp_column_privileges ODBC'deki eşdeğerdir SQLColumnPrivileges . Sonuçlar , , , COLUMN_NAME, ve PRIVILEGEile sıralanırTABLE_QUALIFIER. TABLE_NAMETABLE_OWNER

Sütun adı Veri türü Description
TABLE_QUALIFIER sysname Tablo niteleyici adı. Bu alan olabilir NULL.
TABLE_OWNER sysname Masa sahibinin adı. Bu alan her zaman bir değer döndürür.
TABLE_NAME sysname Tablo adı. Bu alan her zaman bir değer döndürür.
COLUMN_NAME sysname Dönen her sütun TABLE_NAME için sütun adı. Bu alan her zaman bir değer döndürür.
GRANTOR sysname Listelenen listeye verilen izin verilen veritabanı kullanıcı COLUMN_NAMEGRANTEEadı. SQL Server'da bu sütun her zaman .TABLE_OWNER Bu alan her zaman bir değer döndürür.

Sütun, GRANTOR veritabanı sahibi (TABLE_OWNER) veya veritabanı sahibinin ifadedeki maddeyi WITH GRANT OPTIONGRANT kullanarak izinlerini verdiği bir kullanıcı olabilir.
GRANTEE sysname Listelenen GRANTORkişiler tarafından bu konuda izinler verilen COLUMN_NAME veritabanı kullanıcı adı. SQL Server'da bu sütun her zaman tablodan bir veritabanı kullanıcısını sysusers içerir. Bu alan her zaman bir değer döndürür.
PRIVILEGE varchar(32) Mevcut sütun izinlerinden biri. Sütun izinleri aşağıdaki değerlerden biri olabilir (veya uygulama tanımlandığında veri kaynağı tarafından desteklenen diğer değerler):

SELECT = GRANTEE sütunlar için veri alabilir.
INSERT = GRANTEE tabloya yeni satırlar GRANTEEeklendiğinde bu sütun için veri sağlayabilir.
UPDATE = GRANTEE sütundaki mevcut verileri değiştirebilir.
REFERENCES = GRANTEE birincil anahtar/yabancı anahtar ilişkisinde yabancı tablodaki bir sütuna referans verebilir. Birincil anahtar/yabancı anahtar ilişkileri tablo kısıtlamaları kullanılarak tanımlanır.
IS_GRANTABLE varchar(3) Diğer kullanıcılara izin verip vermeme izin verilip verilmediğini GRANTEE gösterir (genellikle "izin ile verme" olarak adlandırılır). , YESveya NOolabilirNULL. Bilinmeyen veya NULL, değeri, "hibe ile hibe" uygulanmayan bir veri kaynağını ifade eder.

Açıklamalar

SQL Server ile izinler ifade GRANT ile verilir ve ifade REVOKE tarafından alınır.

Permissions

Şema için izin gerekiyor SELECT .

Örnekler

Aşağıdaki örnek, belirli bir sütun için sütun ayrıcalık bilgisini geri getirir.

USE AdventureWorks2022;
GO

EXECUTE sp_column_privileges
    @table_name = 'Employee',
    @table_owner = 'HumanResources',
    @table_qualifier = 'AdventureWorks2022',
    @column_name = 'SalariedFlag';