SQL 2019 Standard Filegroups

Paul Reardon 21 Reputation points
2021-10-17T23:16:50.223+00:00

We are looking to upgrade to SQL 2019 Standard edition from 2008R2 Enterprise Edition. On the Enterprise edition we have Filegroups to split some of the file to store images.
As part of the upgrade I need to know if Filegroups are supported on Standard Edition in SQL2019 so I know this still works.
The Microsoft Filegroups documentation states that this is for 'All supported versions' but this does not state the Editions that are supported.

SQL Server Other
0 comments No comments
{count} votes

Accepted answer
  1. CathyJi-MSFT 22,396 Reputation points Microsoft External Staff
    2021-10-18T00:34:24.527+00:00

    Hi @Paul Reardon ,

    >We are looking to upgrade to SQL 2019 Standard edition from 2008R2 Enterprise Edition.

    We can not upgrade SQL server enterprise edition to standard edition. We can only upgrade from lower edition to higher edition. Please refer to MS document Supported version & edition upgrades (SQL Server 2019). In addition, we can not upgrade SQL server 2008R2 to SQL server 2019 directly as below screenshot.

    141191-screenshot-2021-10-18-081017.jpg

    You can follow below steps to do a in-place upgrade for your SQL server instance.

    1. Apply SP3 for SQL Server 2008 R2.
    2. Upgrade SQL 2008R2 SP3 to SQL server 2017.
      3.Upgrade SQL 2017 to SQL server 2019.

    You can also using side by side upgrade. Install a standalone SQL server 2019 enterprise instance. Then migrate SQL server databases by backing up and restoring.
    141172-screenshot-2021-10-18-084726.jpg

    In addition, Filegroup is also supported in standard edition. This feature is supported in all SQL server edition.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


1 additional answer

Sort by: Most helpful
  1. Ronen Ariely 15,206 Reputation points
    2021-10-18T08:10:14.957+00:00

    Good day Paul and welcome tot he QnA forum

    We are looking to upgrade

    If I may, before providing the solution which best fit your question, I would like to give my 2 cent on upgrading version in general.

    The short version is that I HIGHLY recommend NOT to upgrade existing running version of SQL Server! For most of the same reasons, I will recommend NOT to migrate your existing system automatically to a new server.

    Why?

    Upgrading is not a daily task and usually it is done after the system alive for very long time (years). In a system that has existed for so long there are always holes and points that can be improved and maybe even points where we regret decisions that have been made in the past. Basically this is why applications have new versions.

    During that time you learned the system, you know what you need differently, you know where is the bottleneck in performance, you know what the size of the files which you have now and you know what are flows in the architecture.

    MOVING TO NEW SERVER/VERSION IS A HUGE OPPORTUNITY TO IMPROVE THE SYSTEM!
    Don't miss this opportunity as it will probably not come back for a few years!

    This is the time to stop -> rethink -> redesign the system -> redesign the database and related app

    Start a new database after you design the system and use the experience you have to configure the server and database better.

    If you are not familiar with the SQL Server internals then you should read and learn a bit more in order top apply the best design. For example, how many Virtual Log File (VLF) do you have?!? I bet that is this is a big database or even medium then you have way way too many! If the database log file growth during time in multiple chunks then it is probably have hundreds of VLF and it needed to be fixed. Now that the database live for long time, you know what is the size of the file should be. You can create a new database and your log file will have only

    using SQL Server 2012 and earlier versions SQL Server uses the following Algorithm each time the log file growth:
    If the Log growth <= 64 MB, then 4 VLFs are created each time
    If the Log growth between 64 MB and <= 1 GB, then 8 VLFs are added
    If the log file growth in 1 GB or above then 16 VLFs are added.

    Your file probably started as a few MB and what is the size today? How many times did i6t growth? When you start a new database then you can design the file and have a 100 GB file with only a few VLFs.

    https://learn.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-ver15

    SQL Server 2019 by the way improve the way the file is growth and have less issue regarding the VLF - obviously if you move the current files then you will not enjoy this ability as your file already "ready".

    The above is only one example of hundreds of things that you can do better now that you already familiar with your system and it is live for years.

    Therefore, my recommendation is: Don't miss this opportunity as it will probably not come back for a few years!

    Design your system from scratch and build it according to your experience on the live system.

    Back to the question and against my recommendation

    Direct upgrade of the running system to a higher edition even if you are using higher version (as in your request: 2008R2 Enterprise -> 2019 Standard) is not supported since higher edition might include features that are not supported in the lower edition. So you need to choose a different solution and here is an option which provide the most close to your request probably.

    Option 1:

    Base your solution on replication

    (1) Replication between SQL Server 2008 R2 and SQL Server 2019 is supported
    https://learn.microsoft.com/en-us/sql/relational-databases/replication/replication-backward-compatibility?view=sql-server-ver15

    (2) Replication from Enterprise edition to Standard edition is also supported (Distributor should be the Enterprise edition) - you might need to make some small fix if you used features that are not supported in Standard edition.

    Note! SQL Server 2008 R2 End of support was in 2019! I did not try (1) + (2) together and I am not sure if this is support. You can by pass this using a Intermediate stage using developer version.

    As much as I understand the following procedure is prefect for using developer version as we do not use it in production but only for the developing of the system (during the migration), but YOU MUST CONFIRM THAT THE LICENSE FIT AND NOT USE THE DEVELOPMENT IN PRODUCTION.

    Note! SQL Server 2008 R2 Developer Edition is not free (it cost only about 50$), but starting from SQL Server 2014 Developer Edition is free.

    If the license fit then use SQL Server 2014 Enterprise Edition as Intermediate stage and than do the replication to a full license SQL Server 2019 standard.

    BEFORE YOU START BACUP EVERYTHING AND MAKE SURE THT YOU CAN GO BACK IF NEEDED!

    This is NOT a recommendation as I wrote in the beginning of the message but an option that you can test if you want against my recommendation to redesign the system and start from clean machine/installation system.

    (1) Upgrade the current server SQL Server 208R2 Enterprise Edition to SQL Server 2014 developer Edition

    (2) Upgrade SQL Server 2014 developer Edition to SQL Server 2019 developer Edition

    (3) Create replication from the SQL Server 2019 developer Edition to the SQL Server 2019 standard Edition

    (4) bring the SQL Server 2019 standard Edition to production

    This way, you do not need to buy any edition which you do not need.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.