Summary:
Installation of the OCS 2007 R2 “Backend” hotfix package (http://support.microsoft.com/kb/969834) may fail, and unfortunately, the error message presented to the Administrator isn’t entirely clear as to what the root cause is.
More Information:
If you find that installation of OCS2009-DBUpgrade.msi is failing against your backend SQL RTC databases, locate and open the resulting QFE_DBSetup.log file. The following output is generated in the QFE_DBSetup.log, and note the highlighted entry below:
/PoolName: specified FQDN. Assuming /PoolName:R2POOLNAME.contoso.com
Attempting to discover BackEnd SQL instance from AD.
LDAP Query (ConfigurationNamingContext): LDAP://CN=Configuration,DC=contoso,DC=com;((&(objectClass=msRTCSIP-Pool)(msRTCSIP-PoolType:1.2.840.113556.1.4.803:=2)(msRTCSIP-PoolDisplayName=R2POOLNAME.contoso.com)));distinguishedName,msRTCSIP-BackendServer;subTree
Backend Server Instance List: R2BESQL
Backend Server Instance for Pool 'R2POOLNAME.contoso.com' is 'R2BESQL'
Discovered SqlServer R2BESQL
Updating EE server database stored procedures. This will take a while ...
cscript dbsetup.wsf /Verbose /Role:ee /SqlServer:R2BESQL
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Installed SQL Server 2005 Backward Compatibility version is 8.05.2004
Connecting to SQL Server on R2BESQL
Error attempting to validate the SQL server: reconfigure statement failed. This SQL instance has pending configuration changes that need to be resolved before installation can continue.
[Microsoft][ODBC SQL Server Driver][SQL Server]Ad hoc update to system catalogs is not supported.
Workaround:
1. In SQL Server Management Studio, run the following SQL statement:
sp_configure 'allow updates', '0'
RECONFIGURE WITH OVERRIDE
2. Re-run OCS2009-DBUpgrade.msi
Credit:
Many thanks to Santhosh K for finding this needle in the haystack while I was busy waking up half of the RTC Dev Team. :-)
I am having issues installing this DB patch, but am getting past the error you mention. Here is what my log reports:
LDAP Query (ConfigurationNamingContext): <LDAP://CN=Configuration,DC=mydomain,DC=org>;((&(objectClass=msRTCSIP-Pool)(msRTCSIP-PoolType:1.2.840.113556.1.4.803:=2)(msRTCSIP-PoolDisplayName=<mypool>)));distinguishedName,msRTCSIP-BackendServer;subTree
Backend Server Instance List: <mysqlclustername>\ocs2007r2
Backend Server Instance for Pool '<mypoolname>' is '<mysqlclustername>\ocs2007r2'
Discovered SqlServer <mysqlclustername>\ocs2007r2
cscript dbsetup.wsf /Verbose /Role:ee /SqlServer:<mysqlclustername>\ocs2007r2
Connecting to SQL Server on <mysqlclustername>\ocs2007r2
SqlMajorVersion : 9
SqlMinorVersion : 00
SqlBuildNo : 3042
SQL validation: Reconfigure encountered no errors, and SQL version is acceptable: 9.00.3042.00
Opened database rtc
Db schema version is 37
Db sproc version is 70
Db qfe version is 0
Opened database rtcdyn
Using existing dyndb path of w:\rtc_data\rtc data
Using existing dynlog path of x:\rtc_logs\rtc dynamic log
Restricting access and dropping database.
Dropped database rtcdyn
Creating database rtcdyn
DbFile : PhysicalName = w:\rtc_data\rtc data\rtcdyn.mdf
LogFile: PhysicalName = x:\rtc_logs\rtc dynamic log\rtcdyn.ldf
Executing resource SetDbOptions on rtcdyn
Executing batch dbcommon.sql on rtcdyn
Executing batch types.sql on rtcdyn
Executing batch roles.sql on rtcdyn
Executing batch dbrtcdyn.sql on rtcdyn
(Minor upgrade of database only.)
Executing resource SetDbOptions on rtc
Executing resource DropProceduresAndFunctionsAndViews on rtc
Executing resource DropCommonTransientTables on rtc
Executing batch dbcommon.sql on rtc
Executing batch types.sql on rtc
Executing batch roles.sql on rtc
Executing batch dbrtc.sql on rtc
Executing resource LinkStaticAndDynamicDatabases on rtc
Executing resource DbReIndex on rtc
Setting security in rtc
Successfully added logins and db users to the specified database roles in rtc
Setting Db schema version to 37
Setting Db sproc version to 70
Setting Db Qfe version to 1
Error executing alter database [rtc] set multi_user
[Microsoft][ODBC SQL Server Driver][SQL Server]Lock request time out period exceeded.
[Microsoft][ODBC SQL Server Driver][SQL Server]ALTER DATABASE statement failed.
Would I need to shut down the Frontend servers (3 of them in our env, all behind a hardware load balancer) before applying this patch?
Thanks for any insight, I do have a ticket open on this with MSoft and they suggested running the update from the FrontEnd servers rather than from on the SQL server, but I don't have the DB Tools installed there and just wanted a 2nd opinion.
Thanks
E.R.
Thank you for this, saved my @ss last night. Why doesn't MS put this kind of info in their KB articles? Very frustrating!
Hi Brock,
Many thanks for the positive feedback! Wish I had a decent answer to your follow-up question ...
Regards,
Scott