Search the VMware Knowledge Base (KB)
View by Article ID

Purging old data from the database used by vCenter Server (1025914)

  • 250 Ratings
Language Editions


If your vCenter Server fails to start, verify if the VPX_EVENT and VPX_TASK tables are full and manually purge the database if required.
When the vCenter Server database if full:
  • You cannot log in to vCenter Server
  • VMware VirtualCenter Server service may start and stop immediately.
  • Microsoft SQL Event log reports the error:

    Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' 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.


To resolve this issue, manually purge or truncate the vCenter Server database. 
Caution: VMware recommends that you stop the VMware VirtualCenter Server service and take a full, reliable backup of your database before attempting this process.  
  • If you are using SQL 2005 Express, you may need to download and install Microsoft SQL Server Management Studio Express
  • SQL Express 2005/2008 (vCenter Server 5.x is bundled with SQL Express 2008) supports a maximum of 5 hosts and 50 virtual machines. If your environment exceeds these thresholds, you must upgrade your database to SQL Standard edition.
  • The database transaction log may fill up during this procedure if sufficient disk space is not available. For SQL Server, if the required disk space cannot be made available, one option is to utilize the simple recovery model on the database for the duration of this operation.

Purge the tasks and event tables

Note: If purging of database takes a long time, truncate the event and tasks table to clean up the database.
To purge the data in the VPX_EVENT table:
  1. Connect to Servername\SQL Database and log in with the appropriate credentials.
  2. Click databases to expand and select VIM_VCDB > Tables.

    Note: By default, the vCenter Server database is named VIM_VCDB, unless it was renamed during initial creation.

  3. Right-click the dbo.VPX_PARAMETER table and click Open.

    Note: If you are using SQL Server 2008, right-click the dbo.VPX_PARAMETER table and click Edit Top 200 Rows.
  4. Modify event.maxAge to 30 and the event.maxAgeEnabled value to true.
  5. Modify task.maxAge to 30 and the task.maxAgeEnabled value to true.

    Note: To improve the time of the data cleanup, run the preceding steps in several intervals:

    1. Ensure to keep the default value of event.maxAge and task.maxAge.
    2. Perform step 6 to run the cleanup. 
    3. Reduce the event.maxAge and task.maxAge value by 60 and run the cleanup.
    4. Repeat the steps a-c until the value is reached to 30 for the final cleanup process.

  6. Run the built-in stored procedure:

    1. Go to VIM_VCDB > Programmability > Stored Procedures.
    2. Right-click dbo.cleanup_events_tasks_proc and select Execute Stored Procedure.

      This purges the data from the vpx_event, vpx_event_arg, and vpx_task tables based on the date specified for maxAge.
    3. When purging is successfully completed, close the SQL Management Studio and start the VMware Virtual Center Server service.

  7. Ensure that the default Statistics Level is set to 1:

    1. Using the vSphere Client, log in to vCenter Server as an administrator.
    2. Go to Administration > vCenter Server Settings > Statistics.
    3. Under Statistics Intervals, ensure the Statistics Level column is set to 1.
    4. To change the value, select the Interval Duration, click Edit and select Level 1 from the list.
  • The execution of dbo.cleanup_events_tasks_proc may take a long period of time depending on the database size.
  • The operation may fail due to the transaction logs being filled up at multiple intervals based on the data to be purged. You must shrink the Transaction logs when required and run dbo.cleanup_events_tasks_proc again.

Truncate the event and tasks table

To Truncate the event and tasks table, run this script:

truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade,
constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID)
references VPX_EVENT (EVENT_ID) on delete cascade

Disclaimer: VMware is not responsible for the reliability of any data, opinions, advice, or statements made on third-party websites. Inclusion of such links does not imply that VMware endorses, recommends, or accepts any responsibility for the content of such sites. 

Additional Information

Using the following Microsoft SQL Studio options do not help with purging the VPX_EVENT and VPX_TASK table:

  • Purging the old data
  • Truncating tables
  • Shrinking the logs and database
  • Recreating Roll up jobs


vCenter database full, Purging old database, shrink vcenter database,vCenter DB is Full.

See Also

This Article Replaces


Update History

29/09/2011 - Added VC 5.0 updates 05/06/2011 - Added warning about SQL Express 2005 supportability. 05/20/2013 - Corrected hyperlink for VC 2.x 02/18/2015- Added products VMware vCenter Server 5.1.x and VMware vCenter Server 5.5.x


Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.


  • 250 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)

Please enter the Captcha code before clicking Submit.
  • 250 Ratings