无法在SSRS中编辑或删除计划报告

Ben*_*son 3 sql-server reporting-services

在SSRS中编辑和删除计划报告时,我当前收到以下错误:"只允许sysadmin角色的成员更新或删除其他登录所拥有的作业."

我已经尝试将作业的所有者更改为SSRS使用的服务帐户,我已将用户添加为sysadmin,并且我已检查Reporting Services本身的受限帐户的用户和密码.没有什么能有所作为.

报告服务日志只显示:

w3wp!library!a!06/03/2009-01:23:42:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details., ;
 Info: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.Data.SqlClient.SqlException: Only members of sysadmin role are allowed to update or delete jobs owned by a different login.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.ReportingServices.Library.InstrumentedSqlCommand.ExecuteNonQuery()
   at Microsoft.ReportingServices.Library.SqlAgentScheduler.DeleteTask(Guid id)
   at Microsoft.ReportingServices.Library.SchedulingDBInterface.UpdateTaskProperties(Task task, Boolean updateSqlAgentSchedule)
   at Microsoft.ReportingServices.Library.TimedSubscriptionHandler.ValidateSubscriptionData(Subscription subscription, String subscriptionData, UserContext userContext)
   at Microsoft.ReportingServices.Library.SubscriptionManager.ValidateSubscriptionData(Subscription subscription, String eventType, String subscriptionData)
   at Microsoft.ReportingServices.Library.SubscriptionManager.SetSubscriptionProperties(Guid id, String eventType, String matchData, ExtensionSettings extensionSettings, String description, ParameterValueOrFieldReference[] parameters, DataRetrievalPlan dataSettings)
   at Microsoft.ReportingServices.Library.SetSubscriptionPropertiesAction.PerformActionNow()
   at Microsoft.ReportingServices.Library.RSSoapAction`1.Execute()
   --- End of inner exception stack trace ---
Run Code Online (Sandbox Code Playgroud)

Ben*_*son 5

我发现了这个问题.IIS中用于Reports Manager的SSRS应用程序池作为网络服务用户运行,即使使用该服务的应用程序以受限用户身份登录,该用户也被用作连接上下文.

解决方案:

  • 将应用程序池更改为具有SysAdmin权限或DB中作业所有权的用户
  • 或者将网络服务用户添加为SQL用户和SysAdmin