none
Upgrade Windows Server AND DPM from 2016 to 2019? RRS feed

  • Question

  • I have a Windows Server 2016 virtual machine running in a Windows Server 2016 HyperV cluster. In the virtual machine I am running DPM 2016 with a local SQL Server 2014.

    The storage pool is in a separate vhdx file mounted to the virtual machine and uses Modern Backup Storage.

    There is a fairly straight forward process for upgrading DPM in place from 2016 to 2019 and also for moving the DPM Database to a new SQL Server 2017 instance first.

    But I also need to upgrade the OS in the virtual machine to Windows Server 2019.

    Could I do one of these:

    1. Perform an in-place upgrade of Windows AFTER upgrading DPM? Will DPM 2019 "survive" that?
    2. Perform an in-place upgrade of Windows BEFORE upgrading DPM? Will DPM 2016 "survive" that? I doubt it. Is Windows Server 2019 even a supported OS for DPM 2016??
    3. Do a fresh install of Windows Server 2019 and SQL Server 2017, move the DPM database, mount the storage pool vhdx, do a fresh install of DPM 2019 and point it to the restored database and mounted pool?? Is there a recipe for this somewhere??

    Thanks for any input.

    Saturday, May 25, 2019 5:42 PM

All replies

  • Hello Thomas,

    In general it is always recommended to perform a clean install, I would also personally recommend installing a fresh Windows Server 2019 on the side and move the DPM database, install DPM 2016 and finally upgrade DPM to 2019.

    While upgrading an operating system is supported, it can have side effects, and everyone rather want to start from a clean slate.

    So here's the procedure you would follow:

    1. Stop all the DPM jobs.

    2. Backup the DPM database.

    3. Uninstall DPM.

    4. Shut down the old DPM server.

    5. Reset/remove the old DPM server AD computer account.

    6. Install the new server and us ethe same name and IP as the old DPM server.

    7. Restore the DPM database on the new server.

    8. Attach the DPM's storage pool disks.

    9. Reinstall DPM 2016 and select existing DPM database.

    10. Run the following command:

    DPMSync -Sync

    11. Perform consistency checks.

    12. Upgrade DPM to 2019 (you can follow the guide or HERE).


    I have also written a step-by-step guide on how to upgrade to DPM 2019:

    Upgrading to DPM 2019 Step-by-Step
    https://thesystemcenterblog.com/2019/03/17/upgrading-to-dpm-2019-step-by-step

    or you can find the same guide on the TechNet Wiki:

    https://social.technet.microsoft.com/wiki/contents/articles/52731.upgrading-to-dpm-2019-step-by-step.aspx

    Best regards,
    Leon


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Saturday, May 25, 2019 6:42 PM edited numbering
    • Marked as answer by ThomasIsr Saturday, May 25, 2019 7:47 PM
    • Unmarked as answer by ThomasIsr Saturday, January 11, 2020 6:27 PM
    Saturday, May 25, 2019 6:08 PM
  • Hello Leon

    Thank you for a very quick reply!

    A few questions:

    You say that "upgrading an operating system is supported". Does that mean that both of my options 1 and 2 are supported? Are you aware of any statements to this effect from official Microsoft sources?

    Similarly: Is your 12 step procedure for a clean install based on Microsoft sources?

    And for the specific steps:

    Consider renumbering them :-)

    Why is step 3 (Uninstall DPM) needed? I will just delete the vm once the new one is working.

    What is the difference between Reset and Remove in step 5 (Reset/remove the old DPM server AD computer account)?

    Why do I need step 9 (Reinstall DPM 2016 and select existing DPM database)? Can I not go straight to DPM 2019?

    And thanks for the guide on your blog/TechNet. I had actually just read that before posting.

    Thomas

    Saturday, May 25, 2019 6:30 PM
  • Yes, upgrading Windows Server 2016 to Windows Server 2019 is officially supported by Microsoft, but not "recommended".

    Here are the official documentations:

    Upgrade Windows Server 2016 to Windows Server 2019
    https://www.microsoft.com/upgradecenter/scenario/WS2016-on-prem-to-WS2019

    Install | Upgrade | Migrate to Windows Server 2019
    https://docs.microsoft.com/en-us/windows-server/get-started-19/install-upgrade-migrate-19

    You can just power down the VM if you want, just make sure to stop all DPM jobs, DPM services and then shut down the DPM server.

    Resetting the AD computer account makes you able to simply re-use the same AD-account (if you're afraid of deleting it).

    DPM 2016 and DPM 2019 have some differences, so you can't simply install a newer DPM and use an older database, it will cause issues.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Saturday, May 25, 2019 6:47 PM
  • Yes. I know that upgrading Windows 2016->2019 is supported in general, but is it specifically supported for a DPM workload? The Windows docs are very general/anecdotal about upgrading and never discsus anything other than settings, server roles and data. I am very skeptical that it would work.

    You say: "... so you can't simply install a newer DPM and use an older database, it will cause issues.". But that is precisely what you do in your step 12. Installing DPM 2019 on top of 2016 upgrades the 2016 database.

    Saturday, May 25, 2019 7:00 PM
  • It does not say about the workloads, as there can be thousands, I have performed an in-place upgrade of a Windows Server on a DPM server, it worked but there were some minor issues, so I would avoid it if possible.

    It's not entirely the same, when you upgrade DPM from the installation media it will add/modify registry entries and do some changes in the database as well, this way you ensure that everything gets done in a clean and supported way.

    I'm not even sure if DPM 2019 will work if you simply attach a DPM 2016 database.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Saturday, May 25, 2019 7:11 PM
  • Thanks. I will avoid the in place upgrade of Windows.

    And to be completely clear:

    I am not proposing to install DPM 2019 and then attach a DM 2016 database. I am certain that would fail.

    I was suggesting to build the new Windows 2019 server, install SQL Server 2017, move the DPM database over, attach the pool vhdx and the run the DPM 2019 install. Here I would assume that I would get this option:

    From your own guide. And that the DPM 2019 installer would correctly upgrade the database.


    • Edited by ThomasIsr Saturday, May 25, 2019 7:26 PM
    Saturday, May 25, 2019 7:24 PM
  • Yes that sounds good :-)

    And as the warning in the screenshot says, take a backup of the DPM database before anything, and you should be good to go!


    Blog: https://thesystemcenterblog.com LinkedIn:

    Saturday, May 25, 2019 7:28 PM
  • Yes. I plan to follow your steps except for your steps 3 and 9. So like this:

    1. Stop all the DPM jobs.

    2. Backup the DPM database.

    3. Shut down the old DPM server.

    4. Reset the old DPM server AD computer account.

    5. Install the new server and use the same name and IP as the old DPM server.

    6. Restore the DPM database on the new server.

    7. Attach the DPM's storage pool disks.

    8. Run the following command: DPMSync -Sync

    9. Perform consistency checks.

    10. Install DPM 2019 and select existing DPM database.

    • Marked as answer by ThomasIsr Saturday, May 25, 2019 7:48 PM
    • Unmarked as answer by ThomasIsr Saturday, January 11, 2020 6:27 PM
    Saturday, May 25, 2019 7:35 PM
  • Sounds good.

    Blog: https://thesystemcenterblog.com LinkedIn:

    Saturday, May 25, 2019 7:46 PM
  • I am hoping to revive this from last May. I never got around to it, but was going to now.

    I see that something is a bit inconsistent in my last proposed steps. 

    In those steps I am not installing DPM 2016 on the new server, but simply installing SQL Server 2017, attaching the DPM database and running the DPM 2019 install and letting this upgrade the database.

    Leon confirmed that this would work.

    But in that scenario my steps 8 and 9 (from Leons original steps 10 and 11) do not make much sense:

    8. Run the following command: DPMSync -Sync

    9. Perform consistency checks.

    They require DPM to be installed, which it will not be at that time.

    I assume that I can just skip them and the upgrade process will take care of what they would do. Can someone confirm this? Leon?

    If so, then these would be the steps:

    1. Stop all the DPM jobs.

    2. Backup the DPM database.

    3. Shut down the old DPM server.

    4. Reset the old DPM server AD computer account.

    5. Install the new server (Windows Server 2019 and SQL Server 2017) and use the same name and IP as the old DPM server.

    6. Restore the DPM database on the new server.

    7. Attach the DPM's storage pool disks.

    8. Install DPM 2019 and select existing DPM database.

    Sunday, January 5, 2020 9:38 PM
  • In this case, yes you can skip the DPMsync and consistency check steps.

    The mentioned steps looks OK, you'll also find some information over here:

    Migrate the DPM database during upgrade
    https://docs.microsoft.com/en-us/system-center/dpm/upgrade-dpm?view=sc-dpm-2019#migrate-the-dpm-database-during-upgrade


    Blog: https://thesystemcenterblog.com LinkedIn:

    Sunday, January 5, 2020 11:07 PM
  • I finally tried this out and it did not work at all.

    I did this:

    1. Verify no DPM jobs were running
    2. Backup database from DPM 2016 (Windows Server 2016 vm)
    3. Shut down old DPM server
    4. Reset AD Computer account
    5. Install new Windows Server 2019 vm and install SQL Server 2017 + Reporting Services in this
    6. Restore Database backup on new server.
    7. Attach Storage pool vhdx file from old vm to new vm
    8. Run DPM 2019 install on new vm

    Step 8 did not work. It just installed a new DPM instance and created a new DPM database for it. So it did not see any of my protection groups. Useless.

    I tried another tactic. I removed DPM 2019 from the new vm and both the databases. I restored my database backup again and tried installing DPM 2016 on the new Windows Server 2019 vm. That also did not work. DPM 2016 install complains that it cannot find SQL Server reporting service.

    I checked the docs, and realized that SQL Server 2017 is not supported by DPM 2016.

    It feels like I am in a completely ridiculous catch 22.

    I am beginning to suspect that there is no possible upgrade path at all for me:

    from: Windows 2016 / SQL 2014 / DPM 2016

    to: Windows 2019 / SQL 2017 / DPM 2019

    And that the only possible path forward for me and everyone else with this (surely quite common) setup is to simply start over completely:

    • Reactivate old DPM 2016 server
    • Delete all protection groups - making sure that all protection data in Azure is deleted
    • Uninstall all DPM agents from all protected servers
    • Install completely new DPM 2019 including the Azure setup
    • Install new protection agents to all servers to be (re-)protected
    • Re-create all protection groups
    • Wait days/weeks while DPM recreates all initial copies locally and in Azure
    • Accept that all older recovery points will be definitively lost.
    • Presumably accept multiple reboots of all protected servers along the way.

    That would be very very very disappointing...

    Saturday, January 11, 2020 6:26 PM
  • "I tried another tactic. I removed DPM 2019 from the new vm and both the databases. I restored my database backup again and tried installing DPM 2016 on the new Windows Server 2019 vm. That also did not work. DPM 2016 install complains that it cannot find SQL Server reporting service."

    >> This should work, there might have been something you've missed.

    You should be able to perform it as follows:

    1. Upgrade the SQL Server of your current DPM 2016 to SQL Server 2016 first.
    Upgrade SQL Server Using the Installation Wizard (Setup)

    2. Once that is done, you can upgrade DPM 2016 to DPM 2019
    https://docs.microsoft.com/en-us/system-center/dpm/upgrade-dpm?view=sc-dpm-2019

    Upgrading to DPM 2019 Step-by-Step

    https://social.technet.microsoft.com/wiki/contents/articles/52731.dpm-step-by-step-upgrading-to-v2019.aspx

    3. Once both SQL Server and DPM has been upgraded, you can migrate your DPM server to a Windows Server 2019. (backup DB, uninstall DPM 2019, restore DB to new server, install dpm 2019)

    Once the migration has completed, you can (optionally) upgrade to SQL Server 2017.


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Saturday, January 11, 2020 6:37 PM
    Saturday, January 11, 2020 6:35 PM
  • Thanks for the quick reply!

    Regarding your comment that my "other tactic" should work:

    I cannot see how that could ever work. DPM 2016 does not support SQL Server 2017. I am sure that is why it did not work. And even if it had technically worked - it would be an unsupported scenario. I do not want that.

    But maybe you mean something else? That it should have worked if I had not just removed the two databases but also SQL Server 2017 and installed SQL Server 2016 instead. Is that what you meant? 

    I could try that (or start over with a new vm with Windows 2019 and SQL Server 2016).

    That seems much more manageable than the three steps you propose. The procedure for doing in-place upgrade of SQL Server seems very complicated to me - there are several prerequisite requirements which I have no idea how to verify.

    New proposed steps:

    1. Delete current vm with Windows 2019 and SQL Server 2017
    2. Reset AD account
    3. Build new vm with same identity: Windows 2019 + SQL Server 2016
    4. Restore already backed up database
    5. Attach old storage pool vhdx
    6. Install DPM 2016
    7. Verify DPM works
    8. In-place upgrade DPM 2016 to 2019

    Would that work?

    I urgently need to get this up and running again, do I am happy to stick with SQL Server 2016 for now and postpone further SQL Server upgrades.

    Saturday, January 11, 2020 7:01 PM
  • Thanks for the quick reply!

    Regarding your comment that my "other tactic" should work:

    I cannot see how that could ever work. DPM 2016 does not support SQL Server 2017. I am sure that is why it did not work. And even if it had technically worked - it would be an unsupported scenario. I do not want that.

    But maybe you mean something else? That it should have worked if I had not just removed the two databases but also SQL Server 2017 and installed SQL Server 2016 instead. Is that what you meant? 

    Correct SQL Server 2017 is not supported as of today, what I meant was if you've had installed SQL Server 2016 on the Windows Server 2019 it would work and be supported, then once that is done, you can proceed with upgrading DPM 2019 and upgrading to SQL Server 2017.

    If you can afford to lose your backups, then a clean install is always the best option.


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Saturday, January 11, 2020 7:07 PM
    Saturday, January 11, 2020 7:07 PM
  • OK. Thanks.

    Would you then think that my new proposed steps from where I am now would work?

    I'd rather not lose my backups. For a number of reasons.

    Saturday, January 11, 2020 7:11 PM
  • Yes that definitely works, it's one of the more common approach to do.

    Blog: https://thesystemcenterblog.com LinkedIn:

    Saturday, January 11, 2020 7:12 PM
  • OK. Thanks. I will try that.
    Saturday, January 11, 2020 7:16 PM
  • Still does not work at all.

    DPM install simply does not detect that it should do an upgrade and it just install a new DPM system with a new database - so once again no protection groups are present.

    Databases:

    DPMDB_BACKUP2 is the database I restored. The other DPMDB database was created by DPM install.

    Why is it not detecting that it should upgrade?

    Specifically I do not get any of this:


    • Edited by ThomasIsr Saturday, January 11, 2020 11:39 PM
    Saturday, January 11, 2020 11:38 PM
  • Which steps did you do? (In detail).

    Edit: If you've taken the correct steps and it still doesn't work, there's one option left:

    Upgrade the SQL Server 2014 -> SQL Server 2016 on your current DPM 2016 server running on Windows Server 2016.

    Then In-place upgrade DPM 2016 to DPM 2019.

    After that you can migrate your upgraded DPM 2019 to a Windows Server 2019.


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Sunday, January 12, 2020 12:11 AM
    Saturday, January 11, 2020 11:49 PM
  • These were the steps:

    1. Backup DPM database from original server
    2. Shut down original server
    3. Reset AD account
    4. Create new virtual machine with Windows 2019
    5. Install Windows Updates
    6. Install SQL Server 2016. No SP. Including Report server - native, using AD account for all services, adding several accounts to sysadmin role 
    7. Install Management Studio 16.5.3
    8. Windows Update and reboot
    9. Restore DPM database (compatibility level retained at 2014)
    10. Move vhdx file that was used for DPMs storage pool from the old vm to the new vm
    11. Attach storage pool vhdx to new vm
    12. Use Windows Disk Management to set newly added storage pool disk online
    13. Install DPM 2016. There were several screen but not a lot of options I could have chosen differently. See some of them below
    14. DPM install completes and DPM works fine after this, but does not see any protection groups, agents, or pool disks. It is completely blank.

    Let me know if you want more details.

    Your "one option left" will not work. It need to get Windows to Server 2019.

    Thomas

    Sunday, January 12, 2020 8:34 AM
  • Your "one option left" will not work. It need to get Windows to Server 2019.

    You will end up using Windows Server 2019 once you've migrated if you read carefully.

    ===================================================================

    DPM Setup can only detect and use the restored database as part of an upgrade. What you performed was a new clean setup on a new server in which case DPM will always make a new database.

    What you should have done is perform the upgrade on the original DPM server, then you could move to new hardware and restore the DPM 2016 database.

    So in short:

    - Upgrade your SQL Server 2014 to SQL Server 2016 on your Windows Server 2016.

    - Then perform the migration (no need for compatibility level 2014 anymore).

    Make sure the SQL Server version is exactly the same as previously and that the DPM DNS name is the same as well.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Sunday, January 12, 2020 9:29 AM
  • Can you elaborate a bit? Which steps should be used to migrate DPM to a new virtual machine after the in-place upgrade to DPM 2019 in completed? 


    Sunday, January 12, 2020 10:13 AM
  • After upgrading the SQL Server to 2016, follow my initial reply’s steps 1-11.

    Once everything looks green again, upgrade DPM to 2019.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Sunday, January 12, 2020 10:41 AM
  • Can you clarify step 9:

    9. Reinstall DPM 2016 and select existing DPM database.

    I think I just established that installing DPM 2016 in a new OS will not allow for selecting the existing database. In this case, the DPM install just creates a new database.

    Sunday, January 12, 2020 11:46 AM
  • It should find the existing database if it's the exact same version as used on the previous server.

    I'll try it in my lab and let you know how it goes.


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Sunday, January 12, 2020 12:09 PM
    Sunday, January 12, 2020 11:47 AM
  • OK. Thank you so much.

    Thomas

    Sunday, January 12, 2020 12:24 PM
  • While we keep working on getting an upgrade to work, I have been considering my situation if I throw in the towel.

    Obviously I would need to build a completely new server and lose all my old backup. But I am uncertain about the agents.

    Would I need to manually remove the current DPM 2016 agents from all the protected servers first? Or Would DPM 2019 see this as an agent upgrade scenario and just push out the DPM 2019 agent?

    In case I need to remove the DPM 2016 agents manually: Can I just uninstall them from the protected servers? Or would I have to fire up the old DPM 2016 server and remove the agents from DPM Console?

    And am I likely to need to reboot the protected servers in this process?

    Sunday, January 12, 2020 12:48 PM
  • You should be able to upgrade the existing DPM 2016 agents, starting with DPM 2016 or later, once the agent has been updated, no reboot is required.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Sunday, January 12, 2020 1:00 PM
  • OK. Thanks.

    Still would prefer the upgrade route, so I am looking forward to results from your lab.

    Sunday, January 12, 2020 1:04 PM
  • So my test was successful, below you'll find the information:

    My lab:

    - DPM 2016 with Update Rollup 8 running on Windows Server 2016.

    - SQL Server 2016 RTM (13.0.1601.5) installed locally on the DPM server. (local or remote doesn't matter).

    Steps:

    1. Backup the DPM database.

    2. Uninstall DPM 2016 from the Windows Server 2016.

    3. Shut down the old server (Windows Server 2016).

    4. Remove/Reset the DPM 2016 server AD object.

    5. Install your new Windows Server 2019.

    6. Install SQL Server 2016 RTM (same version as used by the DPM 2016 on the Windows Server 2016).

    7. Attach the old DPM storage disks to the new Windows Server 2019.

    8. Re-install DPM 2016 RTM with a new database.

    9. Install Update Rollup 8.

    10. Restart the new DPM server (Windows Server 2019).

    11. Run the following command to restore the DPM 2016 database (old database): 

    DPMSync.exe -RestoreDb -Dbloc "location to your dpm database .bak file).
    12. After the restore has been completed, run the following command:
    DPMSync.exe -Sync

    13. Open the DPM management console and you should have all your data there, run consistency checks of all protected items.



    Blog: https://thesystemcenterblog.com LinkedIn:



    • Edited by Leon Laude Sunday, January 12, 2020 9:22 PM
    Sunday, January 12, 2020 3:52 PM
  • Thank you.

    So my process should be this. Right?

    Phase 1: In-place Upgrade to SQL Server 2016

    1. Re-attach storage pool vhdx to old DPM vm.
    2. Start old DPM vm (Windows 2016, SQL 2014, DPM 2016)
    3. Stop any DPM jobs
    4. Backup DPM database from Management Studio (as a precaution)
    5. Stop and all DPM Windows Services
    6. Do in-place upgrade of SQL Server from 2014 to 2016 following this guide: Upgrade SQL Server Using the Installation Wizard (Setup) (I am very concerned that I may not get this to work, since it looks a bit beyond my SQL Server skills, but I will give it a try
    7. Reboot
    8. Verify DPM works

    Phase 2: Migrate DPM to new vm with Windows Server 2019

    • Accomplished by following your 13 steps from the post before this one except I am skipping step 2.

    Phase 3: In-place upgrade to DPM 2019

    • Just launch the DPM 2019 install and follow the wizard. Make sure it detects the existing database and performs an upgrade of this.

    Question: Could I swap Phase 1 and 2? Meaning:

    Phase 1: Migrate DPM to new Windows 2019 while keeping SQL Server 2014 SP2

    • Still your 13 steps from the previous post except I have already performed steps 1-4 and would not have to "resurrect" the old vm. And except SQL 2014 SP2 in step 6

    Phase 2: In-place Upgrade to SQL Server 2016 (on new vm)

    1. Stop any DPM jobs
    2. Backup DPM database from Management Studio (as a precaution)
    3. Stop and all DPM Windows Services
    4. Do in-place upgrade of SQL Server from 2014 to 2016 following this guide: Upgrade SQL Server Using the Installation Wizard (Setup) (I am very concerned that I may not get this to work, since it looks a bit beyond my SQL Server skills, but I will give it a try
    5. Reboot
    6. Verify DPM works

    Might be a little (not a lot) easier.




    • Edited by ThomasIsr Sunday, January 12, 2020 5:52 PM
    Sunday, January 12, 2020 5:50 PM
  • You should be able to migrate the DPM server as long as the destination server has the same SQL Server version installed when you perform the installation, restore etc...


    Blog: https://thesystemcenterblog.com LinkedIn:

    Sunday, January 12, 2020 6:01 PM
  • Thanks.

    And finally now some partial succes:

    I managed to get through my phase 1 / your 13 steps. 

    So DPM 2016 with SQL 2014 is now running on a new Windows 2019 vm. Thanks for the help so far.

    Comments on your step 11:

    This need to run in an admin prompt. Without the elevated privileges, it fails trying to stop the DPM services.

    The argument for DPMSync is -RestoreDB (not -DbRestore)

    The .bak file should have such permissions that the relevant service account can read it. Full Control for Everyone worked.

    And after the sync processes had completed I still needed to get the Azure integration set up again.

    The first consistency checks have completed successfully. It will probably be a few days before everything is consistent. I will proceed with my phase 2, where I try to upgrade SQL Server after that. 

    Sunday, January 12, 2020 9:20 PM
  • Had a typo there :-) I always run command prompt as admin by habits, but yes it requires administrator privileges.

    I always give the DPM service account local admin permissions on the DPM server, avoids any complications.

    Before going further make sure to back up everything once again.


    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Sunday, January 12, 2020 9:25 PM
    Sunday, January 12, 2020 9:24 PM