Aracılığıyla paylaş


Nesne İzinlerini GERI Al (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Bir tablo, view, tablo değerli fonksiyon, saklanan prosedür, genişletilmiş depolanmış prosedür, skaler fonksiyon, toplu fonksiyon, hizmet kuyruğu veya eşanlamlı üzerindeki izinleri geri alır.

Transact-SQL söz dizimi kuralları

Sözdizimi

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login      

Arguments

permission
Şema içeren bir nesnede iptal edilebilecek bir izni belirtir. İzinlerin listesi için bu konunun ilerleyen bölümlerinde Açıklamalar bölümüne bakınız.

HEPSİ
ALL iptal etmek tüm olası izinleri geri almıyor. ALL'nin iptal edilmesi, belirtilen nesne için geçerli tüm ANSI-92 izinlerini iptal etmekle eşdeğerdir. ALL'nin anlamı aşağıdaki gibi değişir:

Skaler işlev izinleri: EXECUTE, REFERENCES.

Tablo değerli işlev izinleri: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Saklı Yordam izinleri: EXECUTE.

Tablo izinleri: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

İzinleri görüntüleme: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

PRIVILEGES
ANSI-92 uyumluluğuna dahildir. ALL davranışını değiştirmez.

sütun
İzninin iptal edildiği tablo, görünüm veya tablo değerli fonksiyondaki bir sütunun adını belirtir. Parantezler ( ) gereklidir. Bir sütunda yalnızca SELECT, REFERENCES ve UPDATE izinleri reddedilebilir. sütunu permissions yan tümcesinde veya güvenli hale getirilebilir adından sonra belirtilebilir.

[ NESNE :: ] [ schema_name ] . object_name
İzninin iptal edildiği nesneyi belirtir. schema_name belirtilirse OBJECT tümceciği isteğe bağlıdır. OBJECT tümceciği kullanılırsa kapsam niteleyicisi (::) gereklidir. Eğer schema_name belirtilmemişse, varsayılan şema kullanılır. Eğer schema_name belirtilmişse, şema kapsamı niteleyicisi (.) gereklidir.

{ FROM | TO } <database_principal> İznin iptal edildiği prensipi belirtir.

HIBE SEÇENEĞI
Belirtilen izni diğer sorumlulara verme hakkının iptal edileceğini gösterir. İzin iptal edilmeyecek.

Önemli

Sorumlu GRANT seçeneği olmadan belirtilen izne sahipse, iznin kendisi iptal edilir.

CASCADE
İptal edilen iznin, bu sorumlu tarafından verildiği veya reddedildiği diğer sorumlulardan da iptal edildiğini gösterir.

Dikkat

GRANT OPTION ile verilen iznin basamaklı iptali, bu iznin hem GRANT hem de DENY'sini iptal eder.

AS <database_principal> Bu sorguyu yürüten sorumlunun izni iptal etme hakkını türetdiği bir sorumlu belirtir.

Database_user
Bir veritabanı kullanıcısı belirtir.

Database_role
Bir veritabanı rolü belirtir.

Application_role
Bir uygulama rolü belirtir.

Database_user_mapped_to_Windows_User
Windows kullanıcısına eşlenmiş bir veritabanı kullanıcısını belirtir.

Database_user_mapped_to_Windows_Group
Windows grubuna eşlenmiş bir veritabanı kullanıcısını belirtir.

Database_user_mapped_to_certificate
Bir veritabanı kullanıcısını sertifikaya eşlerliyor.

Database_user_mapped_to_asymmetric_key
Bir veritabanı kullanıcısını asimetrik bir anahtara eşler.

Database_user_with_no_login
Uygun sunucu düzeyinde bir ana özelliği olmayan bir veritabanı kullanıcısını belirtir.

Açıklamalar

Nesneler hakkındaki bilgiler çeşitli katalog görünümlerinde görünür. Daha fazla bilgi için bkz . Nesne Kataloğu Görünümleri (Transact-SQL).

Nesne, izin hiyerarşisindeki üst öğesi olan şema tarafından kapsanan şema düzeyinde güvenli hale getirilebilir bir nesnedir. Bir nesne üzerinde iptal edilebilecek en spesifik ve sınırlı izinler, bunları dolaylı olarak içeren daha genel izinlerle birlikte aşağıdaki tabloda listelenmiştir.

Nesne izni Nesne izniyle örtülü Şema izniyle ima edilen
ALTER KONTROL ALTER
KONTROL KONTROL KONTROL
DELETE KONTROL DELETE
EXECUTE KONTROL EXECUTE
INSERT KONTROL INSERT
RECEIVE KONTROL KONTROL
REFERENCES KONTROL REFERENCES
SELECT RECEIVE SELECT
SORUMLULUK ALMAK KONTROL KONTROL
Güncelleme KONTROL Güncelleme
DEĞIŞIKLIK İZLEMEYI GÖRÜNTÜLE KONTROL DEĞIŞIKLIK İZLEMEYI GÖRÜNTÜLE
TANıMı GÖRÜNTÜLE KONTROL TANıMı GÖRÜNTÜLE

Permissions

Nesne üzerinde CONTROL izni gerektirir.

AS maddesini kullanıyorsanız, belirtilen prensip, izinlerin iptal edildiği nesneye sahip olmalıdır.

Örnekler

A. Bir tabloda SELECT izninin iptal edilmesi

Aşağıdaki örnek, SELECT veritabanındaki tablo Person.AddressAdventureWorks2025 üzerindeki kullanıcının RosaQdM iznini geri alır.

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Saklanan bir prosedürde EXECUTE izninin iptal edilmesi

Aşağıdaki örnek, EXECUTE 'de bir uygulama rolünden Recruiting11saklanan prosedür HumanResources.uspUpdateEmployeeHireInfo üzerindeki izni geri alır.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. CASCADE ile bir görünümde REFERENCES izninin iptal edilmesi

Aşağıdaki örnek, REFERENCESWanidaBusinessEntityIDHumanResources.vEmployee görünümdeki sütundaki izni kullanıcıdan iptal eder.CASCADE

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Ayrıca Bkz.

GRANT Nesne İzinleri (Transact-SQL)
DENY Nesne İzinleri (Transact-SQL)
nesne kataloğu görünümlerini (Transact-SQL)
İzinler (Veritabanı Altyapısı)
Sorumluları (Veritabanı Altyapısı)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)