gösterim planı izin ve Transact-SQL toplu işlemleri
C Transact-SQL Toplu iş, bir veya daha fazla özetleri oluşur. Bu konu açıklar nasıl SQL Server birlikte kullanıldığında, çeşitli gösterim planı küme deyim seçenekleri gösterim planı iznini denetler. Transact-SQL Toplu işlemi.
Security Note: |
---|
gösterim planı ve IZLEME ALTER VIEW SERVER DURUM iznine sahip kullanıcılar, yakalanan sorgularını gösterim planı çıktıda görüntüleyebilirsiniz.Bu sorgular, parola gibi duyarlı bilgileri içerebilir.Bu nedenle, yalnızca bu üyeleri gibi önemli bilgileri görüntüleme yetkisi olan kullanıcılar için izinleri olmasını öneririz db_owner sabit veritabanı rolü veya üye sysadmin sabit sunucu rolü.Yalnızca gösterim planı dosyaları içeren veya NTFS dosya sistemini kullanan bir konuma gösterim planı ile ilgili olayları izleme dosyaları kaydedin ve duyarlı bilgileri görüntüleme yetkisi olan kullanıcı erişimi öneririz. |
USE veya küme deyimleri içeren toplu işleri
Herhangi bir gösterim planı izin denetimi USE veya küme ifadeleri gösterim planı küme seçenekleri (SHOWPLAN_TEXT, SHOWPLAN_ALL, SHOWPLAN_XML, STATISTICS PROFILE veya STATISTICS XML) için üzerinde gerçekleştirilir.Tahmini yürütme planı çıktı hiçbiri SHOWPLAN_TEXT, SHOWPLAN_ALL ve SHOWPLAN_XML oluşturma Transact-SQL Toplu iş deyimlerinde dışında USE çalıştırılır database_name ifadeler için bu gösterim planı küme seçenekleri yürütülür.
gösterim planı izin denetimi örnekleri
Içerik veritabanı USE kullanarak toplu olarak küme database_name deyim. Veritabanlarının ya da anılır görünümler, tablolar gibi nesneleri içerir. Transact-SQL ifadeleri gösterim planı izninin denetlenir. Ancak, gösterim planı izni içerik veritabanlarını sürece işaretlenmemişse Transact-SQL deyim içerik veritabanındaki nesneleri gösterir.
Bir toplu iş bir USE içeriyorsa database_name deyim, içerik veritabanı değişir. Bu durumda, belirli bir ifadenin toplu iş iş işlemde ortaya çıktığında, etkin içerik veritabanı için gösterim planı izni işaretlenmemişse.
Örneğin, aşağıdaki toplu iş iş işlemde gösterim planı izni denetlenir AdventureWorks veritabanında her SELECT deyimleri.gösterim planı izni üzerinde işaretlenmemişse Yönetici or the tempdb USE deyimlerinde başvurulan veritabanları:
SET SHOWPLAN_XML ON
GO
USE tempdb
SELECT * FROM AdventureWorks.Person.Address
USE master
SELECT * FROM AdventureWorks.Person.Address
GO
Dinamik SQL gösterim planı izin denetler
Form EXEC (dinamik SQL deyimleri içincommand_string) ya da ÇALıŞTıRıLAMADı ()character_string), hiçbir gösterim planı izinleri denetimleri için katıştırılmış dize birlikte deyim, gerçekleştirilmez.
Form EXEC dbo.my_stored_procedure, saklı bir yordam yürütmek dinamik SQL deyimleri için gösterim planı yetkisi yok EXEC deyim kendisi için denetlenir.Ancak, bir gösterim planı saklı yordam tamamını gövdesi için üretilen çünkü saklı yordam deyimlerinde'tarafından başvurulan bir nesne içeren bir veritabanı gösterim planı izninin denetlenir.
Aşağıdaki örnek, gösterim planı izinler için dinamik SQL deyimleri nasıl denetlenir gösterir.SELECT için deyim, gösterim planı izni denetlenir AdventureWorks Veritabanı. Hiçbir gösterim planı izni denetimleri EXEC deyim kendisi üzerinde gerçekleştirilmez tempdb veritabanı veya master Veritabanı:
SET SHOWPLAN_XML ON
GO
USE tempdb
EXEC ('USE master; SELECT * FROM AdventureWorks.Person.Address');
Aşağıdaki örnekte, toplu iş iş işlem için gönderilen küme STATISTICS XML, kullanıldığı master gösterim planı yetkisi yok, veritabanı üzerinde küme denetlenir deyim. Hiçbir gösterim planı izni denetlenir USE tempdb deyim. USE deyim için CONNECT izni denetlendiğinden, ancak kullanıcının içinde varolmalıdır tempdb Veritabanı ve CONNECT iznine sahip tempdb Veritabanı. Tarafından gösterim planı çıktı oluşturulur, çünkü gösterim planı yetkisi yok EXEC deyim için denetlenir.Hiçbir gösterim planı izni denetlenir USE master deyim. gösterim planı izni ancak denetlenir AdventureWorks deyim için veritabanı:
SET STATISTICS XML ON
GO
USE tempdb
EXEC ('USE master; SELECT * FROM AdventureWorks.Person.Address');
Security Note: |
---|
Önceki sürümleri başvuran sorgular için gösterim planı izni denetlenir SQL Server. Ancak, bölümleri gibi için çalışacak sorgular SQL Server 2005 ve daha sonra gösterim planı izni denetlenir. |
Hatalar içeren bir toplu işlemi
gösterim planı küme deyimi seçenekleri ile kullanılıyorsa, bir Transact-SQL bir deyim yürütme hatası veya bir izni onay hatası, içerik veritabanını oluşturan bir toplu iş modu hangi küme seçenek türüne bağlı olarak aşağıdaki gibi kullanılır belirlenir:
SHOWPLAN_TEXT SHOWPLAN_ALL ve SHOWPLAN_XML
Toplu iş yürütme başlatmadan önce etkin içerik veritabanı etkin kalır.Bir deyim yürütme veya izin onay hatalarla karşılaştı gösterim planı çıktı tüm toplu iş iş iş için oluşturulur.Tüm izin denetimlerini ve deyimleri başarıyla yürütmelisiniz veya gösterim planı çıktı oluşturulur.
STATISTICS PROFILE ve STATISTICS XML
Son deyim başarıyla yürütüldü etkisini sürdürür, olan etkin içerik veritabanı.gösterim planı çıkış yeri deyim başarıyla yürütüldü toplu iş iş ve başarılı iznini denetler, her tablo için oluşturulur.gösterim planı çıktı, başarıyla yürütür ve hangi izninin denetimleri başarısız toplu iş iş işlemindeki her tablo için oluşturulur.
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
gösterim planı dosyaları veya izleme dosyalarında görünebilecek hassas bilgiler koruma hakkında güvenlik bir not eklendi. |