Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to edit or delete schedule reports in SSRS

I'm currently getting the following error when editing and deleting scheduled reports in SSRS: "Only members of sysadmin role are allowed to update or delete jobs owned by a different login."

I've tried changing the owner of the jobs to the Service account used by SSRS, I've added that users as a sysadmin and I've checked the user and password for the limited account for the Reporting Services itself. Nothing is making a difference.

The reporting services log just shows:

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 ---
like image 591
Benjamin Anderson Avatar asked Jan 01 '26 06:01

Benjamin Anderson


1 Answers

I found the problem. The SSRS application pool in IIS for the Reports Manager is running as the Network Service user, which was being used as the connection context even though the application using the service is loging in as the limited user.

Solutions:

  • Change the application pool to a user that has SysAdmin rights or ownership of the jobs in the DB
  • Or add the Network Service user as a SQL user and SysAdmin
like image 54
Benjamin Anderson Avatar answered Jan 03 '26 21:01

Benjamin Anderson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!