REVOKE Nesne İzinleri (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 fonksiyon izinleri: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Saklı Yordam izinleri: EXECUTE.

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

İzinleri görüntüle: DELETE, INSERT, REFERANSLAR, 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 izinler 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.

GRANT SEÇENEK
Belirtilen izni diğer sorumlulara verme hakkının iptal edileceğini gösterir. İzin iptal edilmeyecek.

Önemli

Eğer müdür belirtilen izne sahipse ve bu GRANT seçenek yoksa, izin 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

OPSYENLE verilen bir iznin GRANT zincirleme iptal edilmesi, her ikisini GRANT de o DENY iznleri 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
UPDATE KONTROL UPDATE
VIEW DEĞIŞIKLIK IZLEME KONTROL VIEW DEĞIŞIKLIK IZLEME
VIEW TANIMI KONTROL VIEW TANIMI

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 RosaQdMPerson.Address üzerindeki kullanıcının AdventureWorks2025 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 HumanResources.uspUpdateEmployeeHireInfosaklanan prosedür Recruiting11 ü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, REFERENCESBusinessEntityIDHumanResources.vEmployeeWanida 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)