Vcenter server service won't start

ashman

Gawd
Joined
Mar 28, 2011
Messages
811
Having this issue, looked at the KB articles still stuck. After a reboot a few weeks ago it just refused to start, don't know why, nothing changed that I know of.

Its 5.1 U3 installed on Server 2008R2, its just a stand alone server, Veeam 8 is also running on the box along with a bunch of other software apps.

Suggestions?
 
Check the event logs to see if it's an issue with the service account or underlying OS.

Check vpxd.log as previously mentioned.

Likely, your database is down or you lost access to it.
 
What version of SQL are you using? SQL Express has a 10GB limit on database size. If it's hit that limit the service won't start.
 
I know I ran into this once before, but I can't remember the solution. It may have been a database issue for us as well (storage ran out of room - ended up truncating the DB).
 
I know I ran into this once before, but I can't remember the solution. It may have been a database issue for us as well (storage ran out of room - ended up truncating the DB).

I've definitely run into that before and this was the solution in that case.
 
There are two scripts here, the first one will show the row and total space used in the table.

Code:
SELECT [Table Name],
(SELECT rows FROM sysindexes s WHERE s.indid < 2 AND s.id = OBJECT_ID(a.[Table Name])) AS [Row count], [Total space used (MB)] FROM 
                (
                SELECT  QUOTENAME(USER_NAME(o.uid)) + '.' + QUOTENAME(OBJECT_NAME(i.id)) AS [Table Name],
                                CONVERT(numeric(15,2),(((CONVERT(numeric(15,2),SUM(i.reserved)) * (SELECT low FROM master.dbo.spt_values (NOLOCK) WHERE number = 1 AND type = 'E')) / 1024.)/1024.)) AS [Total space used (MB)]
                FROM    sysindexes i (NOLOCK)
                                                INNER JOIN
                                sysobjects o (NOLOCK)
                                                ON
                                i.id = o.id AND
                                ((o.type IN ('U', 'S')) OR o.type = 'U') AND
                                (OBJECTPROPERTY(i.id, 'IsMSShipped') = 0)
                WHERE indid IN (0, 1, 255)
                GROUP BY           QUOTENAME(USER_NAME(o.uid)) + '.' + QUOTENAME(OBJECT_NAME(i.id))
                
                ) as a
ORDER BY            [Total space used (MB)] DESC

The second script here, will remove Tasks and Events from the DB.

Code:
alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY 
alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT

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
 
Every couple months we have to truncate our vCenter database. Not worth the licensing costs to use full blown SQL Server for it.
 
Just set it to not keep events longer than 30 days. I truncated SQL Express once for a customer over a year ago and shrink the DB to about 3gb. Changed the settings and it still is fairly small. And if you don't want to pay for a SQL license, then use the virtual appliance.
 
Back
Top