Bạn có thể cấp cho họ VIEW DEFINITION
đặc quyền đối với các procs đó.
Xem tại đây
cho những gì đặc quyền này thực hiện.
Bạn có thể áp dụng VIEW DEFINITION
ở các phạm vi khác nhau:
- Máy chủ
- Cơ sở dữ liệu
- Lược đồ
- Các thực thể riêng lẻ (ví dụ:một quy trình, một chức năng, một chế độ xem)
Bạn cũng có thể sử dụng truy vấn để tạo tập lệnh cho nhiều procs.
Vì vậy, nếu bạn có người dùng Bob
:
SELECT N'GRANT VIEW DEFINITION ON '
+ QUOTENAME(SPECIFIC_SCHEMA)
+ N'.'
+ QUOTENAME(SPECIFIC_NAME)
+ N' TO Bob;'
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE';
điều đó sẽ cung cấp cho bạn một cái gì đó như thế này, sau đó bạn có thể chạy:
GRANT VIEW DEFINITION ON [dbo].[aspnet_RegisterSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_CheckSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_Applications_CreateApplication] TO Bob;
...