Unattended upgrade 2014 > 2016

  • Hi,

    I've ran an unattended SQL install on a test Windows Core box, SQL Server 2014 Enterprise to SQL Server 2016 Enterprise however when I open SSMS it's still showing the version number as 12.0.2000.

    Config file used:
    ;SQL Server 2016 Configuration File
    [OPTIONS]
    ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
    ACTION="Install"
    ; Specifies that SQL Server Setup should not display the privacy statement when ran from the command line.
    SUPPRESSPRIVACYSTATEMENTNOTICE="False"
    ; By specifying this parameter and accepting Microsoft R Open and Microsoft R Server terms, you acknowledge that you have read and understood the terms of use.
    IACCEPTROPENLICENSETERMS="True"
    ; Use the /ENU parameter to install the English version of SQL Server on your localized Windows operating system.
    ENU="True"
    FEATURES=SQL
    ; Setup will not display any user interface.
    QUIET="False"
    ; Setup will display progress only, without any user interaction.
    QUIETSIMPLE="False"
    ; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block.
    ;UIMODE="EnableUIOnServerCore"
    ; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found.
    UpdateEnabled="True"
    ; If this parameter is provided, then this computer will use Microsoft Update to check for updates.
    USEMICROSOFTUPDATE="False"
    ; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.
    UpdateSource="MU"
    ; Displays the command line parameters usage
    HELP="False"
    ; Specifies that the detailed Setup log should be piped to the console.
    INDICATEPROGRESS="False"
    ; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.
    X86="False"
    ; Specifies whether the upgraded nodes should take ownership of the failover instance group or not. Use 0 to retain ownership in the legacy nodes, 1 to make the upgraded nodes take ownership, or 2 to let SQL Server Setup decide when to move ownership.
    ;FAILOVERCLUSTERROLLOWNERSHIP="2"
    ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS).
    INSTANCENAME="Local"


    What am I doing wrong here? Hoping it's obvious.

    Thanks

  • Is it an upgrade, or a new install?  This is my guess: you wanted to upgrade from 2014 to 2016, but you put Install instead of Upgrade in your config file, and so what happened was a new instance has been installed instead of the old one being upgraded.

    John

  • Thanks for the response John.
    I actually ran this originally with "Upgrade" and have since changed to "Install" in attempts at resolving this. Either way, I restarted the process to have a clean run.

    Install SQL 2014 Web:
    ; e:\Setup.exe /ConfigurationFile="c:\temp\ConfigurationFile.ini" /IACCEPTSQLSERVERLICENSETERMS
    ;
    ;
    ;
    ;SQL Server 2014 Configuration File
    [OPTIONS]

    ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.

    ACTION="Install"

    ; Use the /ENU parameter to install the English version of SQL Server on your localized Windows operating system.

    ENU="True"

    ; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block.

    ;UIMODE="Normal"

    ; Setup will not display any user interface.

    QUIET="True"

    ; Setup will display progress only, without any user interaction.

    QUIETSIMPLE="False"

    ; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found.

    UpdateEnabled="True"

    ; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature.

    ERRORREPORTING="False"

    ; If this parameter is provided, then this computer will use Microsoft Update to check for updates.

    USEMICROSOFTUPDATE="False"

    ; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components.

    FEATURES=SQLENGINE

    ; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.

    UpdateSource="MU"

    ; Displays the command line parameters usage

    HELP="False"

    ; Specifies that the detailed Setup log should be piped to the console.

    INDICATEPROGRESS="False"

    ; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.

    X86="True"

    ; Specify the root installation directory for shared components. This directory remains unchanged after shared components are already installed.

    INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"

    ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS).

    INSTANCENAME="MSSQLSERVER"

    ; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature.

    SQMREPORTING="False"

    ; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance.

    INSTANCEID="MSSQLSERVER"

    ; Specify the installation directory.

    INSTANCEDIR="C:\Program Files (x86)\Microsoft SQL Server"

    ; Agent account name

    AGTSVCACCOUNT="NT Service\SQLSERVERAGENT"

    ; Auto-start service after installation.

    AGTSVCSTARTUPTYPE="Automatic"

    ; CM brick TCP communication port

    COMMFABRICPORT="0"

    ; How matrix will use private networks

    COMMFABRICNETWORKLEVEL="0"

    ; How inter brick communication will be protected

    COMMFABRICENCRYPTION="0"

    ; TCP port used by the CM brick

    MATRIXCMBRICKCOMMPORT="0"

    ; Startup type for the SQL Server service.

    SQLSVCSTARTUPTYPE="Automatic"

    ; Level to enable FILESTREAM feature at (0, 1, 2 or 3).

    FILESTREAMLEVEL="0"

    ; Set to "1" to enable RANU for SQL Server Express.

    ENABLERANU="False"

    ; Specifies a Windows collation or an SQL collation to use for the Database Engine.

    SQLCOLLATION="Latin1_General_CI_AS"

    ; Account for SQL Server service: Domain\User or system account.

    SQLSVCACCOUNT="NT Service\MSSQLSERVER"

    ; Windows account(s) to provision as SQL Server system administrators.

    SQLSYSADMINACCOUNTS="WS16SQL14W\Administrator"

    ; Provision current user as a Database Engine system administrator for %SQL_PRODUCT_SHORT_NAME% Express.

    ADDCURRENTUSERASSQLADMIN="False"

    ; Specify 0 to disable or 1 to enable the TCP/IP protocol.

    TCPENABLED="1"

    ; Specify 0 to disable or 1 to enable the Named Pipes protocol.

    NPENABLED="0"

    ; Startup type for Browser Service.

    BROWSERSVCSTARTUPTYPE="Automatic"


    All was fine, then I upgraded to SQL 2016 Web
    ; e:\Setup.exe /ConfigurationFile="c:\temp\ConfigurationFile.ini" /IACCEPTSQLSERVERLICENSETERMS
    ;
    ;
    ;
    ;SQL Server 2016 Configuration File
    [OPTIONS]

    ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.

    ACTION="Upgrade"

    ; Specifies that SQL Server Setup should not display the privacy statement when ran from the command line.

    SUPPRESSPRIVACYSTATEMENTNOTICE="False"

    ; By specifying this parameter and accepting Microsoft R Open and Microsoft R Server terms, you acknowledge that you have read and understood the terms of use.

    IACCEPTROPENLICENSETERMS="False"

    ; Use the /ENU parameter to install the English version of SQL Server on your localized Windows operating system.

    ENU="True"

    ; Setup will not display any user interface.

    QUIET="False"

    ; Setup will display progress only, without any user interaction.

    QUIETSIMPLE="True"

    ; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block.

    ;UIMODE="Normal"

    ; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found.

    UpdateEnabled="True"

    ; If this parameter is provided, then this computer will use Microsoft Update to check for updates.

    USEMICROSOFTUPDATE="False"

    ; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services.

    UpdateSource="MU"

    ; Displays the command line parameters usage

    HELP="False"

    ; Specifies that the detailed Setup log should be piped to the console.

    INDICATEPROGRESS="False"

    ; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system.

    X86="False"

    ; Specifies whether the upgraded nodes should take ownership of the failover instance group or not. Use 0 to retain ownership in the legacy nodes, 1 to make the upgraded nodes take ownership, or 2 to let SQL Server Setup decide when to move ownership.

    FAILOVERCLUSTERROLLOWNERSHIP="2"

    I got this script from running the SQL installer, navigating through the GUI with all the options I needed and then took a copy of the config INI.I got this script from running the SQL installer, navigating through the GUI with all the options I needed and then took a copy of the config INI.

    Still the same issue with the version showing in SSMS. I ran the following to confirm only one instance is showing:
    EXECUTE xp_regread   @rootkey = 'HKEY_LOCAL_MACHINE',   @key = 'SOFTWARE\Microsoft\Microsoft SQL Server',   @value_name = 'InstalledInstances'

  • On my original install, I have:

    X86="True"

    and on the upgrade:

    X86="False"

    Wondering if this is the cause.

  • So is it OK now?  I can't explain why it happened.  At first I thought maybe it didn't upgrade all the components, but then I noticed that in the original install you only specified SQLENGINE.

    John

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply