SELECT kullanıcısı vermek ve bunları db_datareader rolüne eklemek arasında bir fark var mı?


9

Ben vermek istendi SELECT, INSERTve UPDATEbir veritabanında tüm tablolar için belirli bir kullanıcıya. Ben kullanıcı ekleme sona erdi db_datareaderve bunları verilmesi INSERTve UPDATEveritabanı seviyesinde.

Ama bu beni düşündürdü, SELECTbir veritabanı düzeyinde kullanıcı izni vermekle db_datareaderrolüne eklemek arasındaki fark nedir (varsa) ? Ve şu ya da bu şekilde en iyi uygulamalar var mı?

Yanıtlar:


7

Rick Byham'ın sabit sunucu ve sabit veritabanı rollerini ve haritalarını gösteren WIKI yayını vardır. Buraya bakabilirsiniz: http://social.technet.microsoft.com/wiki/contents/articles/database-engine-fixed-server-and-fixed-database-roles.aspx

Grafik, db_datareader rolünün GRANT SELECT ON [veritabanı] ile aynı olduğunu gösterir . Bu yüzden hala kullanmak iyidir, ancak öneri bu rollerden daha ayrıntılı komutlara geçmektir. Diğer sabit veritabanı rollerinden bazıları çoğu insan için daha az açık bir şekilde tanımlanmıştır. Açık komutları kullanmak, hakları bildirirken daha fazla netlik sağlar.

Açıkçası, daha ayrıntılı izinleri nasıl vereceğinizi biliyorsunuz. Mümkün olduğunca eski rollerden kopmaya çalışıyorum, ancak db_owner (örneğin) kırılması zor bir alışkanlık.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.