Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Quyền truy cập chỉ đọc vào nội dung thủ tục được lưu trữ

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;
...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt thời gian chờ cho SQL Server

  2. Kết nối với SQL Server thông qua địa chỉ IP

  3. SQL Server sp_msforeachtable sử dụng để chỉ chọn những bảng đáp ứng một số điều kiện

  4. di chuyển dữ liệu từ MS SQL sang PostgreSQL?

  5. Làm cách nào để nhập một cách chọn lọc XLS vào bảng SQL Server 2008?