Разрешения для вызова метода 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" в верхней правой панели.
Добавьте свой объект и дайте необходимые разрешения на нижней панели.