Aracılığıyla paylaş


sp_table_privileges (Transact-SQL)

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

Belirtilen tablo veya tablolar için tablo izinlerinin (örneğinINSERT, UPDATEDELETESELECTREFERENCES) bir listesini döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_table_privileges
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

[ @table_name = ] N'table_name'

Katalog bilgisini döndürmek için kullanılan tablo. @table_namenvarchar(384)'dür, varsayılan yoktur. Joker kart desen eşleştirmesi desteklenmektedir.

[ @table_owner = ] N'table_owner'

Tablonun sahibi katalog bilgilerini döndürmek için kullanılırdı. @table_ownernvarchar(384)'dür, varsayılan olarak NULL. Joker kart desen eşleştirmesi desteklenmektedir. Sahibi belirtilmemişse, temel DBMS'nin varsayılan tablo görünürlüğü kuralları geçerlidir.

Mevcut kullanıcı belirtilen isimle bir tabloya sahipse, o tablonun sütunları geri döner. Eğer sahibi belirtilmemişse ve mevcut kullanıcı belirtilen isimle bir tabloya sahip değilse, bu prosedür veritabanı sahibine ait table_name belirtilen bir tablo arar. Eğer 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.

[ @fUsePattern = ] fUsePattern

Alt çizgi (_), yüzde (%) ve parantez ([ veya ]) karakterlerinin joker karakterler olarak yorumlanıp yorumlanmayacağını belirler. Geçerli değerler 0 (desen eşleştirmesi bozuk) ve 1 (desen eşleştirmesi açık). @fUsePatternbit'tir, varsayılan olarak .1

Dönüş kodu değerleri

Yok.

Sonuç kümesi

Sütun adı Veri türü Description
TABLE_QUALIFIER sysname Tablo niteleyici adı. SQL Server'da bu sütun veritabanı adını temsil eder. 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.
GRANTOR sysname Listelenen listeye izin veren veritabanı kullanıcı adı TABLE_NAMEGRANTEE. SQL Server'da bu sütun her zaman .TABLE_OWNER Bu alan her zaman bir değer döndürür. Ayrıca, GRANTOR sütunu veritabanı sahibi (TABLE_OWNER) veya veritabanı sahibinin ifadedeki maddeyi WITH GRANT OPTIONGRANT kullanarak izin verdiği bir kullanıcı olabilir.
GRANTEE sysname Listelenen GRANTORkişiler tarafından bu konuda TABLE_NAME izin verilen veritabanı kullanıcı adı. SQL Server'da, bu sütun her zaman görünümden sys.database_principalssystem bir veritabanı kullanıcısını içerir. Bu alan her zaman bir değer döndürür.
PRIVILEGE sysname Mevcut tablo izinlerinden biri. Tablo izinleri aşağıdaki değerlerden biri olabilir (veya uygulama tanımlandığında veri kaynağı tarafından desteklenen diğer değerler):

SELECT = GRANTEE bir veya daha fazla sütun için veri alabilir.

INSERT = GRANTEE bir veya daha fazla sütun için yeni satırlar için veri sağlayabilir.

UPDATE = GRANTEE bir veya daha fazla sütun için mevcut verileri değiştirebilir.

DELETE = GRANTEE Masadan satırları kaldırabilir.

REFERENCES = GRANTEE birincil anahtar/yabancı anahtar ilişkisinde yabancı tablodaki bir sütuna referans verebilir. SQL Server'da, birincil anahtar/yabancı anahtar ilişkileri tablo kısıtlamalarıyla tanımlanır.

Verilen bir tablo ayrıcalığı tarafından verilen eylem GRANTEE kapsamı veri kaynağına bağlıdır. Örneğin, ayrıcalıkUPDATE, GRANTEE bir veri kaynağında bir tablodaki tüm sütunları ve yalnızca başka bir veri kaynağında ayrıcalığı olan sütunları UPDATEGRANTOR güncellemesine izin verebilir.
IS_GRANTABLE sysname Diğer kullanıcılara izin verip vermeme izin verilip GRANTEE verilmediğini gösterir (genellikle "izin ile verme" olarak adlandırılır). , YESveya NOolabilirNULL. Bilinmeyen (veya NULL) değer, "hibe ile hibe" uygulanmayan bir veri kaynağını ifade eder.

Açıklamalar

Saklanan prosedür sp_table_privileges ODBC'deki ile SQLTablePrivileges eşdeğerdir. Sonuçlar , TABLE_OWNER, TABLE_NAME, ve PRIVILEGEile TABLE_QUALIFIERsıralanır.

Permissions

Şema için izin gerekiyor SELECT .

Örnekler

Aşağıdaki örnek, isimleri kelimeyle Contactbaşlayan tüm tablolar hakkında ayrıcalık bilgisini getirir.

USE AdventureWorks2022;
GO

EXECUTE sp_table_privileges @table_name = 'Contact%';