Aby rozmówca mógł użyć PROC
z parametrem o wartości tabeli, musisz (nieintuicyjnie) nadaj uprawnienia do wykonywania
w TVP
wpisz do tych, którzy wywołują PROC
tj.
GRANT EXECUTE ON TYPE::[schema].[MyTVP] to [SomeRole]
Edytuj
Uważam, że udało mi się odtworzyć problem, pracując z minimalnym zestawem uprawnień przyznanych użytkownikowi. Kluczowym krokiem jest, aby DBO lub właściciel schematu Twojej TVP przyznał Ci następujący dostęp do niego, aby móc używać go w PROC
(bez tego dostępu mogłem zadeklarować luźną zmienną typu TVP, ale nie używać jej w PROC).
GRANT REFERENCES ON TYPE::[schema].[MyTVP] to YOURROLE -- Or User.
Informacja o dotacji tutaj
(Oczywiście będziesz także potrzebował CREATE PROCEDURE
uprawnienia oraz odpowiedni dostęp do wszelkich obiektów używanych w PROC)
Konsumenci PROC będą musieli również mieć opcję GRANT EXECUTE
pozwolenie na Proc i na Typ zgodnie z początkową odpowiedzią.