یه دیتابیس رو درنظر بگیر.
یه user داریم که فقط به دیتابیسمون map شده و در واقع هیچ دسترسیای به جدولا و ویوها نداره
یه store procedure هم توی دیتابیسمون داریم.
یه role تو دیتابیس ایجاد میکنیم، که فقط اجازهی اجرای این SP رو داره
حالا میایم به user مون فقط دسترسی این role رو میدیم (یعنی این یوزر فقط و فقط میتونه این sp رو اجرا کنه)
حالا با این یوزر وارد sql میشیم، یعنی با محدودیت فقط اجرا کردن اون sp
اگه محتوای sp یه selectی چیزی از یه جدول یا ویو باشه، به راحتی اجرا میشه و میتونیم خروجیشو ببینیم
Proc:
Select * from DBtest ✅
اما اگه محتوای sp ایجاد یه loginname باشه، بهمون خطای دسترسی میده
Proc:
Create login @loginname with password='@pass' ❌
حالا سوال اینجاس، چجوری بدون تغییر در دسترسی و رول، میتونیم این دستور رو اجرا کنیم؟!