The company I am at rarely has to deploy new view clients, so you can imagine my surprise when I tried to the other day and was greeted with an error message. After doing some investigation, it seems that part of the View Composer database is missing; namely, all of the tables that start with SVI from what I can tell. The composer service will not start, and is giving me this error (which makes perfect sense in the context of those tables being missing):
Failed to perform VMware View Composer module initialization.
VMware.Sim.ServiceCore.Exception.SimDaoException: Hibernate threw exception during QueryCriteria. ---> NHibernate.ADOException: could not execute query
[ SELECT this_.VERSION as VERSION17_0_, this_."DATE" as column2_17_0_, this_."COMMENT" as column3_17_0_ FROM SVI_VERSION this_ ]
[SQL: SELECT this_.VERSION as VERSION17_0_, this_."DATE" as column2_17_0_, this_."COMMENT" as column3_17_0_ FROM SVI_VERSION this_] ---> System.Data.Odbc.OdbcException: ERROR [42S02] [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name 'SVI_VERSION'.
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
at NHibernate.Impl.CriteriaImpl.List(IList results)
at NHibernate.Impl.CriteriaImpl.List[T]()
at VMware.Sim.ServiceCore.Persistence.SimDaoGeneric`2.QueryCriteria(ICriteria criteria)
--- End of inner exception stack trace ---
Server stack trace:
at VMware.Sim.ServiceCore.Persistence.SimDaoHelper.LogAndThrow(Reason reason, String message, Exception inner)
at VMware.Sim.ServiceCore.Persistence.SimDaoGeneric`2.QueryCriteria(ICriteria criteria)
at VMware.Sim.ServiceCore.Persistence.SimDaoGeneric`2.EnumerateAll()
at VMware.Sim.ServiceCore.Persistence.DoMgrFactory.GetDbSchemaVersion()
at VMware.Sim.ServiceCore.Persistence.DoMgrFactory.CheckSchemaVersion()
at VMware.Sim.WebService.SimServer.Init()
at VMware.Sim.WebService.SimServer.<SimStart>b__2()
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at VMware.Sim.WebService.SimServer.WorkerFunction.EndInvoke(IAsyncResult result)
at VMware.Sim.WebService.SimServer.SimStart(String[] args)
at VMware.Sim.WebService.SimServer.OnStart(String[] args), Machine Name: HQ-VC5-01, Timestamp: 2/11/2016 11:22:29 PM, App Domain Name: SviWebService.exe, Thread Identity: , Windows Identity: NT AUTHORITY\SYSTEM, OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1, reason: Hibernate
I've found articles talking about uninstalling view composer and reinstalling with a new DB, then copying over some data, but what do I do if the original tables don't exist? The company uses a Barracuda backup appliance, and the database restore fails so pulling the backups is not an option. Any suggestions on how I can get this running?
Sean