ฉันมีปัญหาในการตั้งค่าการVIEW DEFINITION
อนุญาตอย่างเหมาะสมในระดับสคีมาสำหรับผู้ใช้รายหนึ่งของฉัน ฉันสร้างคีมาTestSchema
แล้วเพิ่มบางตาราง ผู้ใช้ปัจจุบันมีสิทธิ์ในการเข้าถึงการตั้งค่าและปรับเปลี่ยนตาราง ( SELECT
, UPDATE
, DELETE
ฯลฯ ) ผ่านdbo_datareader
และdbo_datawriter
บทบาท อย่างไรก็ตามพวกเขาไม่สามารถมองเห็นตารางใด ๆ ในตัวสำรวจวัตถุ SSMS
ฉันลองให้สิทธิ์เพื่อดูคำจำกัดความ:
grant view definition on SCHEMA :: [TestSchema] to [User]
นั่นไม่ได้ผล ฉันพยายามตั้งค่าการอนุญาตระดับตาราง:
grant view definition on [TestSchema].[NewTable] to [User]
นั่นก็ไม่ได้ผล จากนั้นฉันก็ลองแค่ให้ผ้าห่ม:
grant view definition to [User]
และนั่นก็ใช้ได้ ตอนนี้พวกเขาสามารถมองเห็นTestSchema
ได้เช่นเดียวกับสกีมาอื่น ๆ ที่พวกเขาไม่ควรเข้าถึง
เป้าหมายของฉันที่นี่คืออนุญาตให้ผู้ใช้ดูตารางทั้งหมดภายในสคีมาที่กำหนด ฉันจะทำให้สำเร็จได้อย่างไร หากฉันควรจะทำสิ่งนี้โดยค่าเริ่มต้นฉันควรตรวจสอบสิทธิ์ใดบ้างเพื่อค้นหาสาเหตุที่ทำไม่ได้