Do you get this error: "Could not find stored procedure 'dbo.proc_getObjectsByClass' " while running SharePoint configuration wizard?

Recently I worked on a SharePoint issue and wanted to share with you the details:

Issue Details:  

You install a hotfix / cumulative update / service pack to WSS 3.0 or SharePoint Server 2007 environment.  After the installation,  you run 'SharePoint Products and Technologies Configuration Wizard' (psconfigui or psconfig wizard).  Then you may get the following errors / entries:

> When running the PSCONFIG wizard, it may fail at step 2 with the following error:

Configuration Failed

One or more configuration settings failed. Completed configuration settings will not be rolled back. Resolve the problem and run this configuration wizard again. The following contains detailed information about the failure:

Failed to create the configuration database.

An exception of type System.Data.SqlClient.SqlException was thrown. Additional exception information: Could not find stored procedure
'dbo.proc_getObjectsByClass'.

To diagnose the problem, review the application event log and the configuration log file located at:

<File Path> [like C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\PSCDiagnostics*.log]

> You may also find the following event log entries in the Application Event log:

Event Type: Error
Event Source: Windows SharePoint Services 3
Event Category: Database
Event ID: 5586

Description:
Unknown SQL Exception 2812 occured. Additional error information from SQL Server is included below.

Could not find stored procedure 'dbo.proc_getObjectsByClass'. For more information, see Help and Support Center at
https://go.microsoft.com/fwlink/events.asp .

Event Type: Error
Event Source: SharePoint Products and Technologies Configuration Wizard
Event Category: None
Event ID: 104

Description:
Failed to create the configuration database.An exception of type System.Data.SqlClient.SqlException was thrown. Additional exception information: Could not find stored procedure 'dbo.proc_getObjectsByClass'. System.Data.SqlClient.SqlException: Could not find stored procedure 'dbo.proc_getObjectsByClass'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.FetchId(QualifiedObjectName qName)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(String name, Guid parentId, Type type)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Initialize(SqlConnectionStringBuilder connectionString, Boolean enableCaching)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.RegisterDefaultDatabaseServices(SqlConnectionStringBuilder connectionString)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Provision(SqlConnectionStringBuilder connectionString)
at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()
at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask() For
more information, see Help and Support Center at

https://go.microsoft.com/fwlink/events.asp .

Event Type: Error
Event Source: SharePoint Products and Technologies Configuration Wizard
Event Category: None
Event ID: 100

Description:
Configuration of SharePoint Products and Technologies failed. Configuration must be performed in order for this product to operate properly. To diagnose the problem, review the extended error information located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\PSCDiagnostics_filename.log, fix the problem, and run this configuration wizard again. For more information, see Help and Support Center at
https://go.microsoft.com/fwlink/events.asp .

NOTE:  In order to resolve the issue, if you restoring the configuration database from backup, that will certainly show multiple stored procedures in that DB; but running PSCONFIG again will result the deletion of most of the stored procedures and you may get ONLY 2 store procedures in the DB as well as the similar error message]

Environment:

Windows Server 2003 SP1 or later
Windows SharePoint Services 3.0 RTM / SP1 or later
SharePoint Server 2007 SP1 or later

What are the causes?

[Possible] Cause 1:

If WSS 3.0 installation is done a part of Small Business Server 3.0 AND if WSUS 3.0 is installed prior to the installation of WSS, above said issue may occur.

Cause 2:
The issue may happen even if we do not have SBS or WSUS installed on the machines - The actual cause of the issue is unknown at this time.

How to resolve this issue?

For Cause 1, install the following hotfix:

934790 Description of the Windows SharePoint Services 3.0 hotfix package: April 12, 2007

Note that this hotfix is available in the 2007 Microsoft Office servers Service Pack 1 - More information is here:
942390 Description of the SharePoint Server 2007 issues that are fixed by the 2007 Microsoft Office servers Service Pack 1

How to workaround the issue?

For Cause 2, there are two workarounds available:

Workaround 1:

Go for a new configuration database for the SharePoint farm.

[You may want to go for this option IF:

- the amount of customizations applied to the farm are less.
- Farm has single machine or minimum number of machines.]

Amount of time and the amount of reconfiguration of the environment can determine the possiblity to select this option.  As this involves reconfiguration, all the customizations to the SharePoint environment should be taken care.

Workaround 2

1. Disconnect all the SharePoint servers from the farm by running this command from Start > Run:

"%commonprogramfiles%\Microsoft Shared\Web Server Extensions\12\bin\psconfig" -cmd configdb -disconnect

2. Uninstall SharePoint / WSS from the machine.

[Important Note:  If Project Server is installed on the box, you have to uninstall that product also - otherwise MOSS / WSS components cannot be uninstalled completely IF Infrastructure update [IU] is installed on the box(es).

3. Restore the configuration database from backup.  Then run the following query against the config db and determine the database schema version [which should be something like 12.0.0.xxxx]

select * from versions

Reference: https://blogs.msdn.com/shaden/archive/2009/01/21/december-cumulative-update-database-schema-version.aspx

Note: Direct querying of the configuration database is NOT supported - go for this step at your own risk if you do not have any documented information about the SharePoint farm [It is always important to keep updated, detailed documentation about your IT environment especially when you handle with technical issues]. If you are unsure about the steps to be followed, kindly contact Microsoft Support for further assistance.

4. After a system restart, reinstall WSS / MOSS . Install necessary hotfixes / service pack(s) or cumulative updates to bring the server build level similar to the database schema level.

For example, if the above said query returns 12.0.0.6219 as the higher value for DB schema level,  the build level of SharePoint should be  at the same level [for which it should be installed with SP1 for MOSS/WSS ].

5. Run PSCONFIG wizard and select the option  "Yes, I want to connect to an existing server farm"

6. Repeat the steps 2, 4 & 5 for each server in the farm.

7. Install necessary custom applications, if needed [sometimes, the custom applications write files into SharePoint installation folders - since we uninstall SharePoint, that folders will be deleted.  Due to that reason, we may need to reinstall those applications again].

Happy Computing! - Jagadeesh .P