Aracılığıyla paylaş


GERI ALMA (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Daha önce verilen veya reddedilen bir izni kaldırır.

Transact-SQL söz dizimi kuralları

Syntax

SQL Server, Azure SQL Veritabanı ve Doku SQL veritabanı söz dizimi

-- Simplified syntax for REVOKE  
REVOKE [ GRANT OPTION FOR ]  
      {   
        [ ALL [ PRIVILEGES ] ]  
        |  
                permission [ ( column [ ,...n ] ) ] [ ,...n ]  
      }  
      [ ON [ class :: ] securable ]   
      { TO | FROM } principal [ ,...n ]   
      [ CASCADE] [ AS principal ]  

Azure Synapse Analytics, Paralel Veri Ambarı ve Microsoft Fabric ambarı için söz dizimi

REVOKE
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Arguments

IÇIN VERME SEÇENEĞI
Belirtilen izni verme özelliğinin iptal edileceğini gösterir. Bu, CASCADE bağımsız değişkenini kullanırken gereklidir.

Important

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

ALL
Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri

Bu seçenek tüm olası izinleri iptal etmez. ALL iptali, aşağıdaki izinlerin iptaline eşdeğerdir.

  • Güvenli hale getirilebilen bir veritabanıysa, ALL, BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE ve CREATE VIEW anlamına gelir.

  • Güvenli hale getirilebilir bir skaler işlevse, ALL işlevi EXECUTE ve REFERENCES anlamına gelir.

  • Güvenli hale getirilebilen tablo değerli bir işlevse, TÜMÜ DELETE, INSERT, REFERENCES, SELECT ve UPDATE anlamına gelir.

  • Güvenli hale getirilebilir bir saklı yordamsa, TÜMÜ EXECUTE anlamına gelir.

  • Güvenli hale getirilebilen bir tabloysa, TÜMÜ DELETE, INSERT, REFERENCES, SELECT ve UPDATE anlamına gelir.

  • Güvenli hale getirilebilir bir görünümse, TÜMÜ DELETE, INSERT, REFERENCES, SELECT ve UPDATE anlamına gelir.

Note

REVOKE ALL söz dizimi kullanım dışıdır. Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine belirli izinleri iptal edin.

PRIVILEGES
ISO uyumluluğuna dahildir. ALL davranışını değiştirmez.

permission
İzin adıdır. İzinlerin güvenli hale getirilebilir izinlere yönelik geçerli eşlemeleri, bu konunun devamındaki Güvenli hale getirilebilir söz dizimine özgü söz diziminde listelenen konu başlıklarında açıklanmıştır.

column
bir tablodaki izinlerin iptal edildiği sütunun adını belirtir. Parantezler gereklidir.

class
üzerinde iznin iptal edildiği securable sınıfını belirtir. Kapsam niteleyicisi :: gereklidir.

securable
İznin iptal edildiği güvenli hale getirilebilir öğesini belirtir.

TO | FROM sorumlusu
Bir sorumlunun adıdır. Güvenliği sağlanabilir izinlerin iptal edilebileceği sorumlular, güvenliği sağlanabilir duruma bağlı olarak farklılık gösterir. Geçerli birleşimler hakkında daha fazla bilgi için, bu konunun devamında Yer alan Güvenli Hale Getirilebilir Söz Dizimi'nde listelenen konulara bakın.

CASCADE
İptal edilen iznin, bu sorumlu tarafından verildiği diğer sorumlulardan da iptal edildiğini gösterir. CASCADE bağımsız değişkenini kullanırken, GRANT OPTION FOR bağımsız değişkenini de eklemeniz gerekir.

Caution

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

Müdür olarak
As principal yan tümcesini kullanarak, sizin dışınızda bir sorumlu tarafından verilen izni iptal ettiğinizi belirtin. Örneğin, Mary kullanıcı principal_id 12 ve Raul kullanıcı principal_id 15 olduğunu varsayın. Hem Mary hem de Raul, Steven adlı bir kullanıcıya aynı izni verir. sys.database_permissions tablosu izinleri iki kez gösterir, ancak her birinin farklı bir grantor_principal_id değeri olur. Mary, Raul'un iznini kaldırmak için yan tümcesini kullanarak AS RAUL izni iptal edebilir.

Bu deyimde AS kullanılması, başka bir kullanıcının kimliğine bürünme yeteneği anlamına gelmez.

Remarks

REVOKE deyiminin tam söz dizimi karmaşıktır. Yukarıdaki söz dizimi diyagramı, dikkati yapısına çekmek için basitleştirilmiştir. Belirli güvenli hale getirilebilir öğelerdeki izinleri iptal etme söz diziminin tamamı, bu konunun devamındaki Güvenli hale getirilebilir söz dizimine özgü söz dizimi başlığı altında listelenmiştir.

REVOKE deyimi verilen izinleri kaldırmak için kullanılabilir ve DENY deyimi bir sorumlunun GRANT aracılığıyla belirli bir izin almasını önlemek için kullanılabilir.

İzin verilmesi, belirtilen güvenli hale getirilebilir izin üzerinde DENY veya REVOKE izinlerini kaldırır. Güvenli hale getirilebilir olan daha yüksek bir kapsamda aynı izin reddedilirse, DENY önceliklidir. Ancak, daha yüksek bir kapsamda verilen izni iptal etme öncelikli değildir.

Caution

Tablo düzeyinde DENY, sütun düzeyi GRANT'den öncelikli değildir. İzinler hiyerarşisindeki bu tutarsızlık geriye dönük uyumluluk için korunmuştur. Gelecek bir sürümde kaldırılacaktır.

sp_helprotect sistem saklı yordamı, veritabanı düzeyinde güvenli hale getirilebilir izinler bildirir

GRANT OPTION belirtilen izin verilen bir sorumludan izin iptal ederken CASCADE belirtilmezse REVOKE deyimi başarısız olur.

Permissions

Bir güvenli hale getirilebilir üzerinde CONTROL iznine sahip sorumlular, bu güvenli hale getirilebilir öğe üzerindeki izni iptal edebilir. Nesne sahipleri sahip oldukları nesneler üzerindeki izinleri iptal edebilir.

Sysadmin sabit sunucu rolünün üyeleri gibi CONTROL SERVER izni verenler, sunucudaki güvenli hale getirilebilen herhangi bir izin üzerinde herhangi bir izni iptal edebilir. Db_owner sabit veritabanı rolünün üyeleri gibi bir veritabanında CONTROL izni verilmesi, veritabanındaki güvenli hale getirilebilir herhangi bir izin için herhangi bir izni iptal edebilir. Şema üzerinde CONTROL izni verilmesi, şema içindeki herhangi bir nesne üzerindeki izinleri iptal edebilir.

Güvenlikle Özel Sözdizimi

Aşağıdaki tabloda güvenli hale getirilebilir öğeler ve güvenli hale getirilebilir söz dizimini açıklayan konular listelanmaktadır.

Securable Topic
Uygulama Rolü REVOKE Veritabanı Asıl İzinleri (Transact-SQL)
Assembly REVOKE Derleme İzinleri (Transact-SQL)
Asimetrik Anahtar REVOKE Asimetrik Anahtar İzinleri (Transact-SQL)
Kullanılabilirlik Grubu REVOKE Kullanılabilirlik Grubu İzinleri (Transact-SQL)
Certificate REVOKE Sertifika İzinleri (Transact-SQL)
Contract REVOKE Hizmet Aracısı İzinleri (Transact-SQL)
Database REVOKE Veritabanı İzinleri (Transact-SQL)
Endpoint REVOKE Uç Nokta İzinleri (Transact-SQL)
Veritabanı Kapsamlı Kimlik Bilgileri REVOKE Veritabanı Kapsamlı Kimlik Bilgileri (Transact-SQL)
Tam metin Katalog REVOKE Full-Text İzinleri (Transact-SQL)
Full-Text Stop Listesi REVOKE Full-Text İzinleri (Transact-SQL)
Function REVOKE Nesne İzinleri (Transact-SQL)
Login REVOKE Sunucu Asıl İzinleri (Transact-SQL)
İleti Türü REVOKE Hizmet Aracısı İzinleri (Transact-SQL)
Object REVOKE Nesne İzinleri (Transact-SQL)
Queue REVOKE Nesne İzinleri (Transact-SQL)
Uzak Hizmet Bağlama REVOKE Hizmet Aracısı İzinleri (Transact-SQL)
Role REVOKE Veritabanı Asıl İzinleri (Transact-SQL)
Route REVOKE Hizmet Aracısı İzinleri (Transact-SQL)
Schema REVOKE Şema İzinleri (Transact-SQL)
Özellik Listesi Ara REVOKE Arama Özellik Listesi İzinleri (Transact-SQL)
Server REVOKE Sunucu İzinleri (Transact-SQL)
Service REVOKE Hizmet Aracısı İzinleri (Transact-SQL)
Depolanmış Prosedür REVOKE Nesne İzinleri (Transact-SQL)
Simetrik Anahtar REVOKE Simetrik Anahtar İzinleri (Transact-SQL)
Synonym REVOKE Nesne İzinleri (Transact-SQL)
Sistem Nesneleri REVOKE Sistem Nesnesi İzinleri (Transact-SQL)
Table REVOKE Nesne İzinleri (Transact-SQL)
Type REVOKE Türü İzinleri (Transact-SQL)
User REVOKE Veritabanı Asıl İzinleri (Transact-SQL)
View REVOKE Nesne İzinleri (Transact-SQL)
XML Şema Koleksiyonu REVOKE XML Şema Toplama İzinleri (Transact-SQL)

Examples

A. Verme ve iptal etme

Şunlar için geçerlidir: SQL Server, SQL Veritabanı

Aşağıdaki örnek bir şema, kapsanan veritabanı kullanıcısı ve kullanıcı veritabanında yeni bir rol oluşturur. Kullanıcıyı role ekler, role şema üzerinde SELECT izni verir ve ardından rol için bu izni (REVOKE) kaldırır.

CREATE SCHEMA Sales;  
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe; 
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
 

Ayrıca Bkz.

İzin Hiyerarşisi (Veritabanı Altyapısı)
REDDET (Transact-SQL)
HİBE (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)