在功能激活时尝试创建自定义 SharePoint 计时器作业时,我从日志文件中收到以下错误:
System.Data.SqlClient.SqlException (0x80131904):对象“proc_putObjectTVP”、数据库“MSSQL”、模式“dbo”的执行权限被拒绝。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection,Action`1 wrapCloseInAction)在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔 callerHasConnectionLock,布尔 asyncClose)在 System.Data.SqlClient.TdsParser System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.Sql 的 .TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)。 .. 5c6d109c-dbc6-e02e-7ae4-010d7f559e0b
为了使它工作,我找到了存储过程 proc_putObjectTVP 并授予站点 apppool 用户 ID 的执行权限。它按预期工作。
我的问题是:
这是 Sharepoint 2013 中的错误吗?这是正确的方法吗?(在生产环境中,服务器管理员可能不允许我执行此类操作)