ฉันมีคำถามเกี่ยวกับประเภทตารางที่ผู้ใช้กำหนดใน SQL Server 2008
สำหรับความต้องการของหนึ่งในแอปพลิเคชัน ASP.NET เราได้กำหนดชนิดตารางของเราเองบน SQL Server 2008 เพื่อใช้เป็นพารามิเตอร์ในโพรซีเดอร์ที่เก็บไว้ (เมื่อเรียกใช้คำสั่ง sql ในแอปพลิเคชัน ASP.NET เราจะส่งวัตถุ DataTable เป็นพารามิเตอร์สำหรับกระบวนงานที่เก็บไว้ดูตัวอย่างที่นี่ )
ปัญหาคือเมื่อเราเรียกใช้คำสั่ง Sql (ดำเนินการขั้นตอนที่เก็บไว้) จาก ASP.NET เราได้รับข้อผิดพลาด:
สิทธิ์ดำเนินการถูกปฏิเสธในวัตถุ 'ourTableType', ฐานข้อมูล 'ourDatabase', สคีมา 'ourSchema'
เหตุผลที่เป็นเช่นนั้น? เหตุใดเราจึงต้องกำหนดสิทธิ์ในประเภทตารางที่ผู้ใช้กำหนด เหตุใดจึงไม่เพียงพอที่จะตั้งค่าสิทธิ์ในกระบวนงานที่เก็บไว้ซึ่งใช้งานได้ และถ้าเราจะต้องตั้งมันไม่ว่าอะไรทำไมไม่มีEXECUTE
ประเภทสิทธิ์ในการตั้งค่าในหน้าต่างคุณสมบัติใด ๆ (ผมสามารถมองเห็นเพียงControl
, References
, Take Ownership
, View Definition
)?
สิ่งที่ฉันไม่เข้าใจคือการตั้งค่าสิทธิ์Control
ในหน้าต่างคุณสมบัติช่วยแก้ปัญหาได้และขั้นตอนที่เก็บไว้จะทำงานโดยไม่มีปัญหา