Để 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.