I have created a fresh VM to install vCenter 4 (our old vCenter install is on a physical box that we are decommissioning). The old one used the SQL Express database, and I'm taking this opportunity to "do it right" and point vCenter to a SQL 2005 database on a separate server (also a VM). I have created the database using the query in the vCenter 4 Install Guide and I created the Systen DSN on the new vCenter server and it tests successfully. However, whenever I get to the step in the install where I am prompted for the database username/password and hit Next, I get a warning to "make sure SQL Agent is running on database server." I click OK on that but the install does not proceed past that page.
I am using a SQL login for the database, not a Windows login. Any ideas? I double checked and it appears the database was created properly by the query and security looks OK, and as I said the DSN tested successfully.
add dbo permissions to both the MSDB and the VCDB for the login account, see if that helps.
The user already has the db_owner database role on both the vcdb and the msdb. It doesn't have any owned schemas for either database, does that matter?
I have discovered that if I mistype the password in the vCenter installer it does indicate a failure, so it appears the user is authenticating to the database.
It shouldn't matter, the permissions are needed for a blank or populated DB. Seems you have everything in place. You get no error messages? This is an 32bit OS or 64bit?
Have you tried rebooting and starting the install again?
SQL and vCenter server (Windows 2003) are both 32bit. I did try rebooting the vCenter server and restarting the install but I have the same problem. I have not restarted the SQL server but I have tried bouncing the SQL Server service, as well as the SQL Browser and SQL Agent services. I only get that notification about the SQL Agent, once I click OK it just goes back to the login/password screen. If I click Next again I just get the Agent notification again.
I just tried manually extending the schema (again, following the instructions on the install guide) but I still get the same error. I did use the same SQL user (vpxuser) to extend the schema as I'm using for the DSN. The only thing I can find is that the vpxuser account is not actually the OWNER of the database (since I created it) but it does have dbo rights. I tried making it the owner SQL won't let me do that because the user is mapped to a user within the database.1
Found this in the install log file:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Begin Logging
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 --- CA exec: VMCheckDsn
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_DSN_WINDOWS_AUTH =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_DSN = VMware vCenter Server
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_USERNAME = vpxuser
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Setting property DbUpgradeRequired =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Setting property VCS_CURRENTDBSCHEMA_FOUND =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Setting property FORMAT_DB = 0
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_DSN_WINDOWS_AUTH =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- vendor type is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- server name is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- server version is http://09.00.3077
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- driver type is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- driver version is http://09.00.3042
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- db user is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ReadSqlPropertiesFromDbServer() -- db name is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
CheckDbData():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 CheckDbData() -- DB schema version is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property INSTALL_VCI =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property INSTALL_CONVERTER =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property ProductName_VUM = VMware Update Manager
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property ProductName_VMCE = VMware Converter Enterprise for VirtualCenter
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property ProductVersion = 4.0.0.7797
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
VMCheckExtnRegisteredWithVC():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ERROR: QueryDatabase() returned : 100
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
VMCheckExtnRegisteredWithVC():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ERROR: QueryDatabase() returned : 100
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsSystemDb():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 IsSystemDb() -- DB Name is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 The DSN is NOT pointing to system database.
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
CheckValidDbUpgrade():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_DSN_WINDOWS_AUTH =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: -1
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SqlState: <42S02>, NativeError: <208>, msg: <[Microsoft][SQL Native Client][SQL Server]Invalid object name 'vpxuser.VPX_VERSION'.>, msgLen: <84>
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ODBC Error: [SQL Native Client][SQL Server]Invalid object name 'vpxuser.VPX_VERSION'.
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsDbCollationCaseSensitive():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DB case is : and len is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 IsDbCollationCaseSensitive() -- collation is not case-sensitive
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsDbCollationCaseSensitive():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DB case is : and len is
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 IsDbCollationCaseSensitive() -- collation is not case-sensitive
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsRecoveryModelFull():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 IsRecoveryModelFull() -- DB Recovery Model =
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
CheckDbUserPermissionsForMsSql():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Checking for user permissions on 'vcdb' database
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: 0
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: 1
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SqlState: <01000>, NativeError: <5701>, msg: <[Microsoft][SQL Native Client][SQL Server]Changed database context to 'msdb'.>, msgLen: <77>
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Checking for user permissions on MSDB database
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: 0
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: 1
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SqlState: <01000>, NativeError: <5701>, msg: <[Microsoft][SQL Native Client][SQL Server]Changed database context to 'vcdb'.>, msgLen: <77>
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Skipping db_datareader and db_datawriter roles check
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsSQLServerExpressEdition():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 DbFetchResults(), SqlFetch result:
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQL Server Edition installed is <Enterprise Edition>
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
ReadyToCheckSQLServerAgent():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property SourceDir = D:\vpx\
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Found "D:\vpx\dbupgrade\bin\Upgrade-v5-to-v6\T-SQL\job_schedule1_mssql.sql"
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 -
IsSQLServerAgentRunning():----
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 file size: 3716
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQLRETURN value is: -1
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SqlState: <42000>, NativeError: <229>, msg: <[Microsoft][SQL Native Client][SQL Server]The EXECUTE permission was denied on the object 'xp_sqlagent_is_starting', database 'mssqlsystemresource', schema 'sys'.>, msgLen: <162>
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 ODBC Error: [SQL Native Client][SQL Server]The EXECUTE permission was denied on the object 'xp_sqlagent_is_starting', database 'mssqlsystemresource', schema 'sys'.
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQL Server Agent is not running or query error.
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property DB_DSN_SERVER_REMOTE = 1
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property UILevel = 5
VMware VirtualCenter-build-162856: 06/26/09 13:18:20 Getting Property ProductName = VMware vCenter Server
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 Setting property SQL_DB_TYPE = SQL Native Client
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 Setting property DatabaseOK =
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 Setting property VCS_CURRENTDBSCHEMA_FOUND =
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 Setting property DbUpgradeRequired =
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 Getting Property DatabaseOK =
VMware VirtualCenter-build-162856: 06/26/09 13:18:22 End Logging
I'm no DBA, but I did see this error
>VMware VirtualCenter-build-162856: 06/26/09 13:18:20 SQL Server Agent is not running or query error
I gave in and gave the vCenter SQL user the sysadmin role. Now it's working
So it's definitely rights somewhere but I can't figure out where...