.NET 2.0でユーザー定義関数を作成し、それをローカルSQLServerインスタンスに正常に展開できます。ただし、関数に対する特定のユーザーEXECUTE
権限を付与する必要があります。これをCLRメソッド自体で実行して、UDFを再デプロイするたびに手動でアクセス許可を再付与する必要がないようにします。Visual StudioからCLR関数を展開すると、データベースに次の関数が生成されます。
ALTER FUNCTION [dbo].[MyFunction](@input [nvarchar](max))
RETURNS [nvarchar](max) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [LibName].[UserDefinedFunctions].[MyFunction]
GO
これに取り組む方法はありますか?
GRANT EXECUTE ON [dbo].[MyFunction] TO [wwwUser] AS [dbo]
ありがとう。