Have you ever had to do an upgrade of Microsoft Dynamics GP and the SQL Server has already been upgraded to the latest and greatest, but now when you attempt one of the upgrade steps, you get a SQL Version error for Dynamics Utilities.
The wording of the error message is along these lines:
Your current SQL Server is not a supported version.
Req: Microsoft SQL Server 11.0
Act :Microsoft SQL Server 20XX (RTM) – XX.0.XXXX.XXX
You need to upgrade to SQL Server 11.0 before continuing.
The actual window will look something like this example:
This often happens during upgrades where intermediate steps are required or when trying to create a new company after the server has already been upgraded.
DISCLAIMER: The method below is not officially supported as it was designed for testing purposes only, but has worked perfectly for the consultants who have used it.
There is a Dex.ini Setting which can be used to override the SQL Server Version check and so get past this window.
The Dex.ini Setting does vary depending on the version of Microsoft Dynamics GP, but it is fairly easy to work out which setting is needed.
Where the screen lists the required version, take that number and remove the decimal point.
For example: Req: Microsoft SQL Server 11.0 gives 110
Use this number in the setting duForceSQLXXXDetection where XXX is the number.
So here are some examples:
- GP 2015 (v14.0) onwards wants duForceSQL110Detection=TRUE
- GP 2013 (v12.0) wants duForceSQL100Detection=TRUE even though it says SQL 8.0
- GP 2010 (v11.0) wants duForceSQL100Detection=TRUE even though it says SQL 8.0
- GP v10.0 wants duForceSQL80Detection=TRUE
- GP v9.0 wants duForceSQL70Detection=TRUE
[Edit] After a couple of queries from readers (Larry Ressler and Carrie Gardner), I have re-checked the source code for GP 2010 (v11.0) and GP 2013 (v12.0) and the onscreen messages will both say that SQL Server 8.0 is required even though it actually needs SQL Server 10.0. The messages used (24042 and 24043) for the onscreen warning were not updated to match. So use the duForceSQL100Detection=TRUE setting for GP 2010 and GP 2013.
If in doubt or still having issues, just add them all (copy and paste from below):
duForceSQL70Detection=TRUE duForceSQL80Detection=TRUE duForceSQL90Detection=TRUE duForceSQL100Detection=TRUE duForceSQL110Detection=TRUE
Here are some technical details from the DynUtils.dic source:
The value for the Dex.ini setting is stored as a form level constant:
- FORCE_DETECT_SQLXXX of form duSQLInstall
It is checked from the form level function:
- verifyServerVersion() of form duSQLInstall
Which in turn is called from the form procedure:
- init of form duSQLInstall
If the version is mismatched, the following script displays the error:
- displayBadServerVersion of form duSQLInstall
Thanks to Larry Ressler and Beat Bucher for encouraging me to research this issue further.
Hope you find this information useful.
17-Jun-2020: Added note that the on screen message for GP 2010 and GP 2013 says SQL Server 8.0 when it actually needs SQL Server 10.0. Updated Dex.ini Settings needed and article details accordingly.
This article was originally posted on http://www.winthropdc.com/blog.