none
SCOM 1801 to SCOM 2019 upgrade SQL prerequisite fails - SQL server not supported RRS feed

  • Question

  • Hi all,

    I am trying to upgrade SCOM 1801 in our lab to SCOM 2019. It's a distributed environment with two management servers and dedicated SQL server. I should point out that SCOM 1801 was upgraded from SCOM 2016 few months back.

    All our servers are Windows Server 2016 Datacenter, and SQL Server is SQL 2016 SP2 with SSMS 17.9 where reporting server is installed

    I am refering to official SCOM 2019 documentation from Microsoft and loosely following this guide: https://thesystemcenterblog.com/2019/03/15/upgrading-to-scom-2019-step-by-step/

    The problem is that prerequisites verification fails for both Operational Database and Data Warehouse when I try to upgrade first management server:

    

    (Resolution message is the same for both)

    SCOMPrereqCheck.log has these two fails:

      <Result StatusCode="2">
        <Status>Failed</Status>
        <Check>OMDBSqlVersionCheckTitle</Check>
        <Components>
          <Component>OMSERVER</Component>
        </Components>
        <Description>OMDBSqlVersionCheckFailed</Description>
        <Resolution>OMDBSqlVersionCheckResolution</Resolution>
        <LogInformation>System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)</LogInformation>
      </Result>
      <Result StatusCode="2">
        <Status>Failed</Status>
        <Check>OMDWSqlVersionCheckTitle</Check>
        <Components>
          <Component>OMSERVER</Component>
        </Components>
        <Description>OMDWSqlVersionCheckFailed</Description>
        <Resolution>OMDWSqlVersionCheckResolution</Resolution>
        <LogInformation>System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)</LogInformation>
      </Result>

    OpsMgrSetupWizard.log says this (sorry for long text):

    [16:15:51]: Error: :DoPrerequisiteCheckWork Threw: Threw Exception.Type: System.IndexOutOfRangeException, Exception Error Code: 0x80131508, Exception.Message: Index was outside the bounds of the array.
    [16:15:51]: Error: :StackTrace:   at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)
    [16:15:51]: Debug: :CheckPrerequisites: UpgradeAllGatewaysCheckTitle: Passed
    [16:15:51]: Debug:
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Debug: :<![CDATA[CheckPrerequisites: Logic Type:and OldAgentsInstalledCheck: 0]]>
    [16:15:51]: Info: :Info:this is either upgrade MG or RMS, we are running SQL server version check.
    [16:15:51]: Debug:
    [16:15:51]: Debug: :CheckPrerequisites: UpgradeAllAgentsCheckTitle: Passed
    [16:15:51]: Error: :DoPrerequisiteCheckWork Threw: Threw Exception.Type: System.IndexOutOfRangeException, Exception Error Code: 0x80131508, Exception.Message: Index was outside the bounds of the array.
    [16:15:51]: Error: :StackTrace:   at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)
    [16:15:51]: Debug:
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Debug: :<![CDATA[CheckPrerequisites: Logic Type:and RMSNotPartOfMOMTopologyCheck: 0]]>
    [16:15:51]: Info: :Info:this is either upgrade MG or RMS upgrade, we are running SQL server full text search enabled check.
    [16:15:51]: Debug:
    [16:15:51]: Debug: :CheckPrerequisites: RMSTopologyCheckTitle: Passed
    [16:15:51]: Debug:
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Info: :Info:Using DB command timeout = 1800 seconds.
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Info: :Info:this is either upgrade MG or RMS upgrade, we are running SQL server full text search enabled check.
    [16:15:51]: Info: :Info:check Sql full text search enabled done.
    [16:15:51]: Error: :System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)
    [16:15:51]: Info: :Info:Using DB command timeout = 1800 seconds.
    [16:15:51]: Error:
    [16:15:51]: Error: :CheckPrerequisites: OMDBSqlVersionCheckTitle: Failed
    [16:15:51]: Info: :Info:check Sql full text search enabled done.
    [16:15:51]: Error:
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Debug: :**************************************************
    [16:15:51]: Error: :System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.EnterpriseManagement.SetupFramework.PrerequisiteChecks.SQLPrerequisiteChecks.IsValidSQLVersionCheck(String arguments, String formatValue)
    [16:15:51]: Error:
    [16:15:51]: Info: :Info:Using DB command timeout = 1800 seconds.
    [16:15:51]: Error: :CheckPrerequisites: OMDWSqlVersionCheckTitle: Failed
    [16:15:51]: Error:

    Anyone had this error? I believe the key is in this Index was outside the bounds of the array,  but I can't figure out what does it mean and how it is related to version since SCOM 2019 should support SQL 2016 SP2.

    Thanks,

    Niksa

    Thursday, May 2, 2019 4:00 PM

Answers

  • Hi again,

    It seems I've managed to find a solution to this. The same problem happened when upgrading our production SCOM 1801 to SCOM 2019.

    From previous post:

    "I have to run setup.exe /upgrade from cmd (as admin) for installer to actually upgrade. If I simply run setup.exe (as admin), it just looks to install SCOM freshly. It does not see installed SCOM 1801."

    This time it was acting exactly the same, but then I discovered SetupChainerUI.exe in SCOM 2019 extracted location "...\System Center Operations Manager 2019\setup\AMD64" that I've run as administrator. This went smoothly through prerequisites check and upgraded my SCOM management group.

    Niksa

    • Marked as answer by njadric Tuesday, September 24, 2019 8:33 AM
    Tuesday, September 24, 2019 8:33 AM

All replies

  • Hello Niksa,

    Are you certain these are all the errors in the SCOM installation log?

    Make sure you are running the installation with an account that has permissions to the SCOM databases.

    Best regards,
    Leon


    Blog: https://thesystemcenterblog.com LinkedIn:

    Thursday, May 2, 2019 4:53 PM
  • Hi,

    It seems the dedicated SQL server hosts operations database, warehouse dabatabase and reporting server. For this error, it is suggested to try the following to see if it works

    1, reboot the SQL server
    2, install Operations Console (of SCOM1801) on the database server
    3, on the management server, perform the upgrade (to SCOM2019) again (to see if it works)
    4, after the entire upgrade (including the reporting server) is successful, remove the Operations Console (this is optional)

    Hope the above information helps.

    Regards,

    Alex Zhu
    -----------------------------------------------
    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.
    Friday, May 3, 2019 2:29 AM
  • I am having the same problem...
    Friday, May 3, 2019 3:00 AM
  • @Leon Laude

    These are all errors in the logs. I have found similar thread where permissions are the issue so I checked it, but that is not the case here. The account is local admin on all machines, SQL sysadmin and SCOM administrator.

    • Edited by njadric Friday, May 3, 2019 9:15 AM
    Friday, May 3, 2019 8:52 AM
  • @AlexZhu_775

    Tried that too, but it didn't work. I remember I had to install SCOM console when I was upgrading from SCOM 2016 to 1801 in order to successfully install Reporting services.

    • Edited by njadric Friday, May 3, 2019 9:16 AM
    Friday, May 3, 2019 8:54 AM
  • Make sure that
    1. Clean up the Database (ETL Table).
    2. Stop the Microsoft Monitoring Agent, System Center Data Access Service, System Center Configuration Management, and Microsoft Monitoring Agent services on all management servers except the one being upgraded.
    3.  Operational Database Has More Than 50 Percent Free Space.

    Roger
    Friday, May 3, 2019 10:02 AM
  • @Roger

    Already did that, but checked again and no luck.

    1. run in a second (not too large)

    2. stopped Microsoft Monitoring Agent, System Center Data Access Service, System Center Management Configuration services (slightly different wording)

    3. has 79.97 % free space

    Friday, May 3, 2019 10:36 AM
  • I just wanted to check, did you stop the following services on all management servers except the one being upgraded?

    Services:

    • Microsoft Monitoring Agent
    • System Center Data Access Service
    • System Center Configuration Management

    Blog: https://thesystemcenterblog.com LinkedIn:

    Friday, May 3, 2019 10:40 AM
  • Whatever this  Index was outside the bounds of the array means, it's the key.

    What I believe, and it does not have to be true, it that array in question contains version SQL numbers that are acceptable, but the place SCOM prerequisite check looks for SQL version is returning incorrect (or empty) value. I've checked on multiple places in registry and it all appears to be correct version number.

    Where would SCOM prerequisite checker look for this version, I wonder. Just a thought.

    To add, I have to run setup.exe /upgrade from cmd (as admin) for installer to actually upgrade. If I simply run setup.exe (as admin), it just looks to install SCOM freshly. It does not see installed SCOM 1801.
    • Edited by njadric Friday, May 3, 2019 10:45 AM
    Friday, May 3, 2019 10:41 AM
  • This is an odd one indeed, I haven't encountered this or read anyone else having this issue "yet".

    It is of course always recommended to perform a fresh install, however organizations have various of challenges to do so, which leads them to upgrading their environments instead.

    Just some personal thoughts:

    Personally I've experienced and encountered issues when performing two updates, performing one upgrade seems to be more or less fine, but two "can" cause issues whether you succeeded or not.

    Even though it is stated as a supported upgrade path, I would personally not perform an upgrade twice.


    If you have any support agreement with Microsoft, you might want to create an incident about this issue directly to Microsoft.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Friday, May 3, 2019 10:50 AM
  • Hi,

    Agree with Leon, if the SCOM1801 is a fresh install, we may consider upgrading to SCOM2109. However, if it was upgraded from SCOM2016, fresh installation is suggested. I've deployed SCOM2019 among 4 servers (1 db, 2 ms, 1 console) in the lab and it works well. And for the Management Packs, it is suggested to download and import manually. Using the recommendations has caused some problems during the setup.

    Hope the above information helps.

    Regards,

    Alex Zhu
    -----------------------------------------------
    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.
    Monday, May 6, 2019 8:57 AM
  • Thank you all for your inputs.

    I have decided to go with fresh installation.

    Friday, May 10, 2019 11:08 AM
  • Hi again,

    It seems I've managed to find a solution to this. The same problem happened when upgrading our production SCOM 1801 to SCOM 2019.

    From previous post:

    "I have to run setup.exe /upgrade from cmd (as admin) for installer to actually upgrade. If I simply run setup.exe (as admin), it just looks to install SCOM freshly. It does not see installed SCOM 1801."

    This time it was acting exactly the same, but then I discovered SetupChainerUI.exe in SCOM 2019 extracted location "...\System Center Operations Manager 2019\setup\AMD64" that I've run as administrator. This went smoothly through prerequisites check and upgraded my SCOM management group.

    Niksa

    • Marked as answer by njadric Tuesday, September 24, 2019 8:33 AM
    Tuesday, September 24, 2019 8:33 AM