Restore issue on GP 2015 drove me nuts!

I lost an evening that I’ll never get back over something so stupid I wish I had just stopped to think about this issue a little more.

The situation was this: I just upgraded a client from GP 2010 to GP 2015. I didn’t upgrade the test companies, because it’s a waste of time right? So I finish the upgrade and proceed to create new test companies and take fresh backups of the new production companies and restore to the test companies.

Pretty simple right?  I’ve done it millions of times it feels like…

The Issue

So I get an error when logging into the newly refreshed companies that is new:

“The selected company is not configured as a company of the current Microsoft Dynamics GP system database. You must resolve the database configuration to log in to the company.”.

Restore Company error


Google the error. Get TONS of hits. Awesome! Everyone has the same info, in slightly different wording. There’s a new table starting with GP 2013 because of the named system database feature, and it’s called SY00100.

The issue for me was everyone seemed to have a slightly different “new” post-refresh script and none of the blogs that I read resolved my issue. If I had stopped to *read* the error, and clued in to the “system database” phrase it might have been more obvious…

Every post seemed to say “go find the company ID from the SY01500 table in DYNAMICS and update the SY00100 table on each restored company db with it.”  Sure, I did that, and it still didn’t work. What the heck?

I was looking at the companies that I *could* log into at their SY00100 table but I just was tired and completely missed it: they all said “DYNAMICS” in the dbname field. All the restored companies had their own dbname in that field. So when looking quickly, I am looking at database “XYZ” and I see database “XYZ” in the table, with the proper Company ID number, and I think, yeah, looks good, what the heck am I missing?

What I was missing

The new table is all about telling GP what system database name that company uses. DUH… *smacking my head*. Here’s what the table *should* look like, if your system database is DYNAMICS, and your company ID is “12”.

SY00100 table

So, in summary… what you *need* to do with this table if you are getting this error is this:

  1. CMPANYID must be the CMPANYID value from that company db in DYNAMICS.dbo.SY01500. After refreshing a test company, this will likely have the CMPANYID of the “copied” company, so it needs updating.
  2. DBNAME must be the SYSTEM database for this Dynamics instance. So, that means DYNAMICS for most customers, but if you are using the named system db feature, that means it will be whatever the appropriate named system db is!
  3. There should only be 1 record in each company in this table.

Ideally you find or create a proper new post-refresh script as this isn’t the only place there the company ID or dbname fields need updating. I’m not posting one of those here, and I’m still sorting out what the best one is, as the ones I used to use, don’t update this table properly!

I hope this helps someone else banging their head against a wall!

(originally posted on, and migrated to this site in October 2017)

4 thoughts on “Restore issue on GP 2015 drove me nuts!

  1. Reply
    @GP_Beat - August 13, 2015

    Thanks Jen for sharing this information… Worth keeping a note about it as i use several test companies based on restored live companies… I haven’t yet re-created them on my Test Bed GP 2015.
    Please post the link here about the best post-script info when you figured out which one works 🙂

    1. Jen Kuntz - August 28, 2015

      I just did some testing today and the script on the KB article page works fine.

  2. Reply
    Lynne Mosiman - October 16, 2016

    Thank you! So glad to run across your article and the link to the script that actually does the job.

  3. Reply
    Mark Wiley - November 30, 2016

    exec sp_MSforeachdb
    ‘ use ?
    if exists ( select INTERID from DYNAMICS..SY01500 D where INTERID = ”?” )
    /* this ia a Great Plains company db */
    print ”Processing database ?”
    /* Insert your script below this Line, Note: Double up single quotes */

    update MST
    set CMPANYID = (select CMPANYID from DYNAMICS..SY01500 where INTERID = ”?”),
    from SY00100 MST

    /* Insert your script above this Line, Note: Double up single quotes */

    If DYNAMICS is not your system database, just change the script.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

Scroll to top