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

Tôi cần quyền nào để sử dụng Tham số có giá trị bảng SQL Server (TVP) làm tham số proc được lưu trữ?

Để người gọi sử dụng PROC với một tham số có giá trị trong bảng, bạn sẽ cần (không chủ quan) cấp quyền thực thi trên TVP gõ vào những người gọi PROC tức là

GRANT EXECUTE ON TYPE::[schema].[MyTVP] to [SomeRole]

Chỉnh sửa

Tôi tin rằng tôi đã có thể tái tạo vấn đề, viz hoạt động từ một tập hợp quyền tối thiểu được cấp cho người dùng. Bước quan trọng là DBO hoặc Chủ sở hữu giản đồ của TVP của bạn cấp cho bạn quyền truy cập sau vào nó, để có thể sử dụng nó trong PROC (nếu không có quyền truy cập này, tôi có thể khai báo một biến lỏng lẻo của kiểu TVP, nhưng không thể sử dụng nó trong PROC).

GRANT REFERENCES ON TYPE::[schema].[MyTVP] to YOURROLE -- Or User.

Tài trợ tham khảo tại đây (Rõ ràng là bạn cũng sẽ cần CREATE PROCEDURE quyền, cộng với quyền truy cập có liên quan vào bất kỳ đối tượng nào được sử dụng trong PROC)

Người tiêu dùng PROC cũng sẽ cần phải có GRANT EXECUTE quyền trên Proc và trên Loại theo câu trả lời ban đầu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trả về danh sách các bảng &chế độ xem trong SQL Server bằng T-SQL (sp_tables)

  2. Thực thi thủ tục đã lưu trữ với tham số Đầu ra?

  3. SQL Server là gì? (Định nghĩa, Phiên bản, Phiên bản)

  4. Sự cố khi tải dữ liệu SQL Data Reader vào DataTable

  5. Làm cách nào để thay đổi kích thước trang của SQL Server?