This blog will no longer be updated.

New content is available on my new blog

An internal error occurred on the report server - no disk space for database. - Piotr Rodak

An internal error occurred on the report server - no disk space for database.

Last week was pretty hectic for me. I was developing SSRS report that was to be deployed to our QA, UAT and production environments. The report consists of many sections, which I had to implement as tables rather than subreports, because SSRS for SQL Server 2005 has many constraints, being unable to display dynamic headers and footers from subreports one of them. Having about 15 rather complicated tables on one design area is not a very comfortable way of work. The whole IDE is slow and tends to crash, so it is important to save your work every now and then and use a source control system to keep history of changes.

Yet I was able to make progress and elements of the report started to fit in, resembling the desired outcome.
I installed the reporting server and deployed the report. It was rather smooth process. I worked on new versions of the report and deployed them as they were ready so our BAs could test them and look for bugs in data and layout.
Yesterday around 6pm I was ready to deploy most recent version of the report and then head home. You can imagine that I was rather unimpressed when I got message:

An internal error occurred on the report server. See the error log for more details

I would appreciate more detailed information to be returned to someone who deploys the report, by the way.

I looked into the error log and found basically nothing.

<Header>
  <Product>Microsoft SQL Server Reporting Services Version 9.00.4035.00</Product>
  <Locale>en-US</Locale>
  <TimeZone>Eastern Standard Time</TimeZone>
  <Path>C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\LogFiles\ReportServerWebApp__02_22_2010_10_37_33.log</Path>

  <SystemName>USWMWEMDSQ01</SystemName>
  <OSName>Microsoft Windows NT 5.2.3790 Service Pack 2</OSName>
  <OSVersion>5.2.3790.131072</OSVersion>
</Header>
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing ReportBuilderTrustLevel to '0'  as specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing MaxActiveReqForOneUser to '20' requests(s) as specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing MaxScheduleWait to default value of '1' second(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing DatabaseQueryTimeout to default value of '30' second(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing ProcessRecycleOptions to default value of '0'  because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing RunningRequestsScavengerCycle to default value of '30' second(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing RunningRequestsDbCycle to default value of '30' second(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing RunningRequestsAge to default value of '30' second(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing CleanupCycleMinutes to default value of '10' minute(s) because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing DailyCleanupMinuteOfDay to default value of '120' minutes since midnight because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing WatsonFlags to default value of '1064'  because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing WatsonDumpOnExceptions to default value of 'Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException,Microsoft.ReportingServices.Modeling.InternalModelingException'  because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing WatsonDumpExcludeIfContainsExceptions to default value of 'System.Data.SqlClient.SqlException,System.Threading.ThreadAbortException'  because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing SecureConnectionLevel to default value of '1'  because it was not specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing DisplayErrorLink to 'True'  as specified in Configuration file.
w3wp!library!8!2/22/2010-10:37:33:: i INFO: Initializing WebServiceUseFileShareStorage to default value of 'False'  because it was not specified in Configuration file.


This was the most recent log file, and there were no error messages in it as you see. I noticed though that the file was modified about half an hour earlier than I started to receive error. I searched the web trying to find something likely to be similar to my case but I couldn't. I remoted to the app server and checked once more the settings of the Reports and ReportsServer applications in IIS. They looked alright. Still, the fact that I had no entries in the log file for my error was suspicious and I decided to restart web server and the application pool the reporting applications were using. And bingo, the log file was refreshed. This time it contained the reason of the problem with the deployment.


w3wp!library!1!02/22/2010-14:42:04:: Call to CreateFolderAction(TEST Data Sources, /).
w3wp!library!1!02/22/2010-14:42:04:: i INFO: Catalog SQL Server Edition = Enterprise
w3wp!library!1!02/22/2010-14:42:05:: w WARN: Transaction rollback was not executed connection is invalid
w3wp!library!1!02/22/2010-14:42:05:: 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: Could not allocate space for object 'dbo.Catalog'.'IX_Parent' in database 'MyReports' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

   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.DBInterface.CreateObject(Guid id, String shortName, String fullPath, String parentPath, Guid parentId, ItemType objectType, Byte[] objectContent, Guid intermediateSnapshotID, Guid link, String linkPath, ItemProperties objectProperties, String parameters, Byte[] createdBySid, String createdByName, DateTime creationDate, DateTime modificationDate, String mimeType)
   at Microsoft.ReportingServices.Library.DBInterface.CreateObject(Guid id, String shortName, String fullPath, String parentPath, Guid parentId, ItemType objectType, Byte[] objectContent, Guid intermediateSnapshotID, Guid link, String linkPath, ItemProperties objectProperties, String parameters, String createdBy, DateTime creationDate, DateTime modificationDate, String mimeType)
   at Microsoft.ReportingServices.Library.CatalogItem.Create()
   at Microsoft.ReportingServices.Library.CreateItemAction`1.CreateNew(CatalogItem itemToCreate, CatalogItemContext parentContext)
   at Microsoft.ReportingServices.Library.CreateItemAction`1.PerformActionNow()
   at Microsoft.ReportingServices.Library.RSSoapAction`1.Execute()
   
Wow. This was not expected. I realized that I had never thought about looking at the setup of the report server databases, and they were created automatically when I was installing and configuring reporting services. And it turned out that they were created according to model database presets, and in the default folder of the database server. Unfortunately, this folder happened to be on the drive that is not supposed to contain any databases. Other activity was filling it up gradually and yesterday there was no more space for reporting databases. Deployment writes quite a lot of information into the database and of course this requires growth of data and log files. Oh well. Tomorrow I will move the databases to appropriate disks. For now, I freed up some space on the drive and I was able to deploy the reports without any problems.

Lesson learned, I guess.

Published 23 February 2010 22:04 by Piotr Rodak

Comments

No Comments