Estou desenvolvendo um .Net App que chama um procedimento armazenado que tem um parâmetro com valor de tabela declarado como TYPE READONLY.
A primeira vez que tentei ligar para o SP recebi o seguinte erro:
Msg 229, Level 14, State 5, Line 1
A permissão EXECUTE foi negada no objeto 'TYPE_OBJ', banco de dados 'MY_DB', esquema 'dbo'.
Depois de conceder a permissão EXECUTE ao usuário, ele funciona bem.
Mas não consigo encontrar no MS-DOCS nem em CREATE TYPE nem em Usar parâmetros com valor de tabela nenhuma referência às permissões necessárias para usá-lo como parâmetro.
Onde posso encontrar informações sobre as permissões necessárias para usar um TYPE como parâmetro?
Enviei um PR na página do documento para documentar os requisitos.
https://github.com/MicrosoftDocs/sql-docs/pull/3351
Aqui está uma reprodução simples:
Eu acredito que você só precisa dar permissões para o arquivo REFERENCES .