sql >> Databáze >  >> RDS >> Sqlserver

Jaké oprávnění potřebuji k použití parametru SQL Server Table Valued Parameter (TVP) jako uloženého parametru proc?

Aby volající mohl použít PROC s parametrem s hodnotou tabulky, budete muset (neintuitivně) udělte oprávnění ke spuštění na TVP zadejte těm, kteří volají PROC tj.

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

Upravit

Domnívám se, že se mi podařilo problém replikovat, viz práci s minimální sadou oprávnění udělených uživateli. Důležitým krokem je, aby vám DBO nebo vlastník schématu vašeho TVP udělil následující přístup k němu, abyste jej mohli používat v PROC (bez tohoto přístupu jsem byl schopen deklarovat volnou proměnnou typu TVP, ale nepoužít ji v PROC).

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

Zde udělte referenci (Samozřejmě budete také potřebovat CREATE PROCEDURE oprávnění plus relevantní přístup ke všem objektům používaným v PROC)

Spotřebitelé PROC budou muset mít také GRANT EXECUTE oprávnění k procesu a typu podle původní odpovědi.



  1. Jak mám dotazovat MySQL a jak ukládat výsledky z MySQL do mezipaměti?

  2. MSDTC na serveru „server není k dispozici“

  3. Pokud změníme hodnotu primárního klíče, proč nemusíme změnit hodnotu závislého sloupce?

  4. Hibernate @Filter kolekce výčtů