Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jakich uprawnień potrzebuję, aby użyć parametru wartościowego parametru tabeli programu SQL Server (TVP) jako przechowywanego parametru proc?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odbuduj i zreorganizuj indeks SQL Server

  2. Pobierz wszystkie daty między dwiema datami w SQL Server

  3. Jak przekonwertować liczbę całkowitą (czas) na GG:MM:SS::00 w programie SQL Server 2008?

  4. Jak wykonać procedurę składowaną w innej procedurze składowanej na serwerze sql

  5. Entity Framework 4 Code First — zapobieganie upuszczaniu/utworzeniu bazy danych