Aracılığıyla paylaş


execute as özel izin kümeleri oluşturmak için kullanma

Ayarlar belirtme bir modül yürütme içeriği özel izni tanımlamada çok yararlı olabilir.Örneğin, truncate table gibi bazı eylemler grantable izni yoktur.truncate table yürütmek için kullanıcı belirtilen tablo üzerinde alter iznine sahip olmalıdır.Kullanıcı izinleri bir tabloyu kesmek iyi yeteneği ötesinde etkili olduğundan kullanıcı tablo üzerinde alter iznine verme ideal olmayabilir.

truncate table deyim içinde bir modül ve bu modül yürütmek tablo değiştirme izinleri olan bir kullanıcı olarak belirterek ekleyerek, kullanıcı modülü yürütmek izinlerini vermek için tabloyu kesmek için izinleri genişletebilirsiniz.

Bu saklı yordam göz önünde bulundurun:

CREATE PROCEDURE TruncateMyTable
WITH EXECUTE AS SELF
AS TRUNCATE TABLE MyDB..MyTable;

Mary bu yordamı oluşturur ve verir yürütmek izinleri üzerinde TruncateMyTable tan.Scott saklı yordam çalıştırıldığında Veritabanı Altyapısı doğrular izinleri kesirli kısmını tablo gibi Mary yürütme saklı yordamı.Çünkü Gönül tablo sahip, deyim başarılı tan doğrudan izin yok dahi tablo.Mary hızlı ve verimli şekilde Gönül, ona görevi gerçekleştirmek için gerekenden daha fazla izin vermeden istedi tan için izinleri genişletti.