How to grant permissions on a table-valued function
Scalar functions require EXECUTE
permissions, however when you've converted to a Table Valued Function the permissions required change to SELECT
.
You must now GRANT SELECT ON functionName TO another_user;
From BOL:
Users other than the owner must be granted EXECUTE permission on a function (if the function is scalar-valued) before they can use it in a Transact-SQL statement. If the function is table-valued, the user must have SELECT permissions on the function before referencing it.