Bunu bir yorum için çok uzun olduğu ve yakında diğer kullanıcılarla alakalı olacağı için bir yanıt olarak yayınlamak.
SQL Server 2014, tam olarak bu tür bir senaryoya yardımcı olacak bazı yeni sunucu düzeyinde izinler ekler - denetim göz önünde bulundurularak tasarlanmıştır, ancak bu tür bir gereksinim de bu faturaya uymaktadır. Sunucu düzeyinde oturum açmaya aşağıdaki iki izni ekleyebilirsiniz:
CONNECT ANY DATABASE
SELECT ALL USER SECURABLES
Birincisi, göründüğü gibi, girişin herhangi bir veritabanına bağlanmasına izin verir. Bununla ilgili güzel bir şey, gelecekte oluşturulacak veritabanları için bile buna izin vermesidir (açık reddetme ayarlamamış olmanız koşuluyla, belirli kullanıcı veritabanlarını bu izne sahip girişlerden nasıl koruyabilirsiniz). İkincisi SELECT
, girişin erişime sahip oldukları herhangi bir veritabanında okuma işlemleri gerçekleştirmesine izin verir - böylece tablolardan, görünümlerden, UDF'lerden vb. Olabilirler , ancak herhangi bir UPDATE
işlem gerçekleştiremezler (bu izin, saklı yordam DML gerçekleştirir). Sunucunun tamamına geniş bir açık okuma erişimi vermek veya daha hassas olmak istiyorsanız, CONNECT
belirli veritabanlarına geleneksel ayrıcalıklar tanıyabilirsiniz ve bunlar SELECT ALL USER SECURABLES
,yalnızca oturum açma özelliğinin açık erişime sahip olduğu veritabanları için işlev görür.
2014 güvenlik değişiklikleri burada belgelenmiştir ; iyi, kısmen - veritabanı düzeyindeki izni unuttular ALTER ANY DATABASE EVENT SESSION
- bu burada alakalı değil.