Разрешения для вызова метода UDT в SQL/CLR

Я создаю пользовательский тип в SQL Сервер из сборки с использованием SQL/CLR, Я могу вызвать его метод sa но не публичным пользователем.

Сообщение об ошибке:

System.Data.SqlClient.SqlException: no permission to execute。

System.Data.SqlClient.SqlException: 

in System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

in System.Data.SqlClient.SqlDataReaderSmi.InternalNextResult(Boolean ignoreNonFatalMessages)

in System.Data.SqlClient.SqlDataReaderSmi.NextResult()

in System.Data.SqlClient.SqlCommand.RunExecuteReaderSmi(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)

in System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

in System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

in System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

in System.Data.SqlClient.SqlCommand.ExecuteReader()

in MyAssembly.MyType.Parse(SqlString param)

Как предоставить разрешения для вызова метода публичными пользователями? Спасибо!

1 ответ

Является ли пользователь вашей БД членом роли db_owner? еще

Попробуй это,

В студии управления SQL Server

Разверните БД -> Разверните Безопасность -> Разверните Пользователей

Затем щелкните правой кнопкой мыши пользователя БД, которого вы используете для подключения -> Свойства

Выберите "Securables" в верхней правой панели.

Добавьте свой объект и дайте необходимые разрешения на нижней панели.

Другие вопросы по тегам