Friday, May 15, 2015

Team Foundation Server: Error creating a new team project

A customer reported me the following issue when they tried to create a new TFS project:

brary!ReportServer_0-43!fbc!03/30/2015-08:44:26:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.;
library!ReportServer_0-43!fbc!03/30/2015-08:44:26:: e ERROR: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: The EXECUTE permission was denied on the object 'xp_sqlagent_notify', database 'mssqlsystemresource', schema 'sys'.
   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()
   --- End of inner exception stack trace ---
   at Microsoft.ReportingServices.Library.Storage.WrapAndThrowKnownExceptionTypes(Exception e)
   at Microsoft.ReportingServices.Library.InstrumentedSqlCommand.ExecuteNonQuery()
   at Microsoft.ReportingServices.Library.SqlAgentScheduler.get_IsSchedulerRunning()
   at Microsoft.ReportingServices.Library.SchedulingDBInterface.CheckIfSchedulerIsRunning(Boolean error)
   at Microsoft.ReportingServices.Library.SchedulingDBInterface.GetCacheSchedule(Guid reportID, ReportScheduleActions& action)
   at Microsoft.ReportingServices.Library.ScheduleCoordinator.SetReportSchedule(Guid reportID, ScheduleDefinitionOrReference scheduleData, ReportScheduleActions reportAction)
   at Microsoft.ReportingServices.Library.ReportExecutionCacheDb.SetReportSchedule(Guid reportID, ScheduleDefinitionOrReference scheduleData, ReportScheduleActions reportAction)
   at Microsoft.ReportingServices.Library.ReportExecutionCacheDb.SetCacheOptions(CatalogItemPath reportPath, Guid reportID, Boolean cacheReport, ExpirationDefinition expiration)
   at Microsoft.ReportingServices.Library.SetCacheOptionsAction.PerformActionNow()
   at Microsoft.ReportingServices.Library.RSSoapAction`1.Execute()

I had seen this issue before, but the error message is kind of misleading. To solve it I had to (re)configure the rights of the RSExecRole on the database:

No comments: