Installation of OCS 2007 R2 Hotfix Package 969834 may fail if SQL settings have been changed


 


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.  🙂


 


 

Comments (3)

  1. Eric Raff says:

    I am having issues installing this DB patch, but am getting past the error you mention. Here is what my log reports:

    Attempting to discover BackEnd SQL instance from AD.

    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

    Updating EE server database stored procedures. This will take a while …

    cscript dbsetup.wsf /Verbose /Role:ee /SqlServer:<mysqlclustername>ocs2007r2

    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 <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_datartc data

    Using existing dynlog path of x:rtc_logsrtc dynamic log

    Opened database rtcdyn

    Restricting access and dropping database.

    Dropped database rtcdyn

    Creating database rtcdyn

       DbFile : PhysicalName = w:rtc_datartc datartcdyn.mdf

       LogFile: PhysicalName = x:rtc_logsrtc dynamic logrtcdyn.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

    Opened database rtc

    (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.

  2. Brock Heidemann says:

    Thank you for this, saved my @ss last night. Why doesn't MS put this kind of info in their KB articles? Very frustrating!

  3. Scott Oseychik says:

    Hi Brock,

    Many thanks for the positive feedback!  Wish I had a decent answer to your follow-up question …

    Regards,

    Scott