How to bypass SQL Version Errors from Dynamics GP Utilities

David Meego - Click for blog homepageHave 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.

Solution

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.

David

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.

18 thoughts on “How to bypass SQL Version Errors from Dynamics GP Utilities

  1. Thanks David for doing the research on this one.. A client recently had their old SQL server’s hard drive crash and had to restore in emergency towards their newly setup SQL 2017 that was used to test GP2018, but had no other options to quickly get back in business. This option now at least allows for proper validation of GP Utilities, even knowing this is an unsupported version with GP 2013.

    Like

  2. I am trying to do an update from GP 10.00.0774 to 10.1868 to GP 2013 to GP 2016 to GP 18.2. The customer previously migrated their GP 10 databases to SQL 2014 (12.0.6392). I am trying to use the above steps to bypass the SQL check in GP10 Utilities, but it is not working for me. The error message says Req: Microsoft SQL Server 8.0. I have added duForceSQL80Detection=TRUE to my Dex.ini file but I still get the same message. The databases are set to Compatibility Level 100 (SQL 2008 I believe). Any ideas how I can get around this? If this workaround can’t work, how can I get around this?

    Like

    • Hi Peter

      There is no other way to get around this other than using the version of SQL needed. You can temporarily install the instance to complete the upgrade.

      However, the Dex.ini setting has worked for me for other versions. Check that the setting in the Dex.ini is not duplicated anywhere and that it is in the [General] section.

      David

      Like

      • I’m only seeing a [General] section, no other sections in the Dex.ini file. I’m presuming sections would be in [ ]. I did try with the setting both at the end and more near the top of the Dex.ini file. I also confirmed it is only in the file once.

        Will I be able to restore the SQL 2014 backups into a SQL 2008 or 2008 R2 instance? Or is there some other method I’ll need to do?

        Thanks,
        Peter

        Like

      • No, unfortunately I ended up having to script out the entire databases to downgrade the SQL version to a supported version.

        Like

      • My version is 11.00.2248 (dB is 11.00.2244) but the SQL version in the error is 8.0 and the client has the db’s on SQL 2014. I’m going to test upgrading to GP2013. It will be a triple upgrade but sounds better than DTSing all of the tables!

        Like

      • Sure did…didn’t work. No other dex.ini on the server. I tried all combinations. I tried in multiple locations in the file. No luck 😦

        Like

      • Carrie, What SQL version is it saying you need. The dex.ini setting must match the version you are being told you need. If SQL version 10.0, you need the duForceSQL100Detection=TRUE setting. It can be anywhere in the Dex.ini [General] section.

        Like

      • The error states SQL 8.0 (which isn’t true for GP2010) so I used duForceSQL80Detection=TRUE in the dex.ini

        Like

      • Carrie I have reviewed the source code for all versions 11.0 builds I have and it needs duForceSQL100Detection=TRUE. Try adding this version setting.

        Like

      • Carrie, I just updated the article to suggest adding all the settings. Then the one that is needed will be found.

        You are the second person today who mentioned that GP 2010 says it needs SQL Server 8.0, but it actually needs SQL Server 10.0. I think the onscreen message is incorrect.

        Confirmed: The onscreen messages for GP 2010 and GP 2013 were not updated and say SQL Server 8.0 when it actually needs SQL Server 10.0.

        David

        Liked by 1 person

  3. This beats the heck out of re-scripting entire databases when clients update their SQL Server without asking before an update.

    Thanks!

    Like

Please post feedback or comments

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.