Obscure Changes in SQL Server 2022, Part 2 : Setup

Yesterday I blogged briefly about a few of the changes you can see in SQL Server 2022 if you pry at the metadata a bit:

There were some additional changes I found interesting in setup, and one of them doesn't exactly qualify as "obscure" if I'm being honest.

Feature selection

You will notice some changes in the Feature Selection screen. Some of the options have been consolidated; for example, you now get R, Python, and Java with MLS, instead of picking. One item has been added: SQL Server Extension for Azure. Unfortunately, this option is checked by default in the CTP 2.0 version of setup.

NOTE: This default selection for the Azure extension was fixed in CTP 2.1, made available July 27th, 2022.

Here's how it looked in CTP 2.0 (click to enlarge):

What is this shiny new thing?

I'm not against installing the thing, generally, but there is a bigger problem as a result. You may not even have noticed that the option was pre-selected for you; depending on your screen size, it may be "below the fold." But you will eventually get to the following configuration screen, where – unless you have a bunch of Azure auth information handy – you will not pass GO and you will not collect $200 (click to enlarge):

Do not pass GO; do not collect $200

For search goodness (the first one is repeated for good measure):

Provided input is not valid. Expecting the AZURESUBSCRIPTIONID value to be in guid format.
Provided input is not valid. Expecting the AZURETENANTID value to be in guid format.

Even if you fill in all the fields with valid information (which Andy did), the dialog will still block you from proceeding, complaining about AZURESUBSCRIPTIONID.

To undo this oversight, you will need to click Back a bunch of times and, forgive me for the first world complaint, it is not very fast. This is because each dialog has to completely repaint, including gathering existing instance information.

Hopefully that default changes in the next CTP; I left my comments on Joey D'Antoni's feedback item here.

Command line arguments

The list of command line arguments has grown, too.

ACTION Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
ADDCURRENTUSERASSQLADMIN Provision current user as a Database Engine system administrator for SQL Server 2022 CTP2.0 Express.
AGTDOMAINGROUP Either domain user name or system account.
AGTSVCACCOUNT Either domain user name or system account.
AGTSVCPASSWORD Password for domain user name. Not required for system account.
AGTSVCSTARTUPTYPE Startup type for the SQL Server Agent service. Supported values are Manual, Automatic or Disabled.
ALLINSTANCES Specifies that all instances are to be included in the Setup operation. This parameter is supported only when applying a patch.
ASBACKUPDIR The location for the Analysis Services backup files.
ASCOLLATION The collation used by Analysis Services.
ASCONFIGDIR The location for the Analysis Services configuration files.
ASDATADIR The location for the Analysis Services data files.
ASLOGDIR The location for the Analysis Services log files.
ASPROVIDERMSOLAP Specifies if the MSOLAP provider can run in process.
ASSERVERMODE Specifies the server mode of the Analysis Services instance. Valid values are MULTIDIMENSIONAL and TABULAR. The default value is TABULAR.
ASSVCACCOUNT The account used by the Analysis Services service.
ASSVCPASSWORD The password for the Analysis Services service account.
ASSVCSTARTUPTYPE Controls the service startup type setting for the service.
ASSYSADMINACCOUNTS Specifies the list of administrator accounts to provision.
ASTELSVCACCT Account for SQL Server Analysis Services CEIP service: Domain\User or system account.
ASTELSVCPASSWORD A SQL Server Analysis Services CEIP service password is required only for a domain account.
ASTELSVCSTARTUPTYPE Startup type for the SQL Server Analysis Services CEIP service.
ASTEMPDIR The location for the Analysis Services temporary files.
AZUREARCPROXYSERVER Proxy name for Arc for servers(optional).
AZUREREGION Azure region to onboard current SQL servers.
AZURERESOURCEGROUP Resource group name to create Azure Arc enabled SQL Server resources.
AZURESERVICEPRINCIPAL Azure Service Principal application id to perform Arc enabled SQL Server onboard.
AZURESERVICEPRINCIPALSECRET Azure Service Principal secret to authenticate with Azure.
AZURESUBSCRIPTIONID Subscription Id to create Arc enabled SQL Server resources.
AZURETENANTID Tenant Id value for the current principal/subscription exist.
BROWSERSVCSTARTUPTYPE Startup type for Browser Service.
CLUSTERPASSIVE Specifies that SQL Server Setup should not manage the SQL Server services. This option should be used only in a non-Microsoft cluster environment.
CONFIGURATIONFILE Specifies the configuration file to be used for Setup.
CONFIRMIPDEPENDENCYCHANGE Indicates that the change in IP address resource dependency type for the SQL Server multi-subnet failover cluster is accepted.
ENABLERANU Set to "1" to enable RANU for SQL Server Express.
ENU Use the /ENU parameter to install the English version of SQL Server on your localized Windows operating system.
EXTSVCACCOUNT User account for Launchpad Service.
EXTSVCPASSWORD User password for Launchpad Service account.
FAILOVERCLUSTERDISKS Specifies a cluster shared disk to associate with the SQL Server failover cluster instance.
FAILOVERCLUSTERGROUP Specifies the name of the cluster group for the SQL Server failover cluster instance.
FAILOVERCLUSTERIPADDRESSES Specifies an encoded IP address. The encodings are semicolon-delimited (;), and follow the format <IP Type>;<address>;<network name>;<subnet mask>. Supported IP types include DHCP, IPV4, and IPV6.
FAILOVERCLUSTERNETWORKNAME Specifies the name of the SQ LServer failover cluster instance. This name is the network name that is used to connect to SQL Server services.
FAILOVERCLUSTERROLLOWNERSHIP 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.
FEATURES Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, 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 shared components.
FILESTREAMLEVEL Level to enable FILESTREAM feature at (0, 1, 2 or 3).
FILESTREAMSHARENAME Name of Windows share to be created for FILESTREAM File I/O.
FTSVCACCOUNT User account for Full-text Filter Daemon Host.
FTSVCPASSWORD User password for Full-text Filter Daemon Host account.
FTUPGRADEOPTION Full-text catalog upgrade option.
HELP Displays the command line parameters usage.
IACCEPTRSUNINSTALL By specifying this parameter, you acknowledge that Reporting Services will be uninstalled and you've performed any necessary backup and/or migration.
IACCEPTSQLSERVERLICENSETERMS By specifying this parameter and accepting the SQL Server license terms, you acknowledge that you have read and understood the terms of use.
IACKNOWLEDGEENTCALLIMITS When entering an Enterprise Server/CAL license product key (as opposed to Enterprise Core) on computers with greater than 20 physical cores (40 logical cores with Hyper-threading enabled), this parameter is required to acknowledge that the SQL Engine will only utilize up to 20 physical cores, or 40 logical cores with Hyper-threading enabled.
INDICATEPROGRESS Specifies that the detailed Setup log should be piped to the console.
INSTALLSHAREDDIR Specify the root installation directory for shared components. This directory remains unchanged after shared components are already installed.
INSTALLSHAREDWOWDIR Specify the root installation directory for the WOW64 shared components. This directory remains unchanged after WOW64 shared components are already installed.
INSTALLSQLDATADIR The Database Engine root data directory.
INSTANCEDIR Specify the instance root directory.
INSTANCEID 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.
INSTANCENAME 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), or Analysis Services (AS).
ISMASTERSVCACCOUNT Either domain user name or system account.
ISMASTERSVCPASSWORD Password for domain user.
ISMASTERSVCPORT Network port.
ISMASTERSVCSSLCERTCN CNs in a SSL certificate, e.g. CN=[MachineName]; CN=[IP].
ISMASTERSVCSTARTUPTYPE Startup type for Integration Services Scale Out Master service. Automatic, Manual or Disabled.
ISMASTERSVCTHUMBPRINT Thumbprint of a SSL certificate.
ISSVCACCOUNT Either domain user name or system account.
ISSVCPASSWORD Password for domain user.
ISSVCSTARTUPTYPE Startup type for Integration Services. Automatic, Manual or Disabled.
ISTELSVCACCT Account for SQL Server Integration Services CEIP service: Domain\User or system account.
ISTELSVCPASSWORD A SQL Server Integration Services CEIP service password is required only for a domain account.
ISTELSVCSTARTUPTYPE Startup type for the SQL Server Integration Services CEIP service.
ISWORKERSVCACCOUNT Either domain user name or system account.
ISWORKERSVCCERT Path of a certificate file.
ISWORKERSVCMASTER Master machine name/ip and port, https://[Name]:[Port] or https://[IP]:[Port].
ISWORKERSVCPASSWORD Password for domain user.
ISWORKERSVCSTARTUPTYPE Startup type for Integration Services Scale Out Worker service. Automatic, Manual or Disabled.
NPENABLED Specify 0 to disable or 1 to enable the Named Pipes protocol.
PBDMSSVCACCOUNT Account for SQL Server PolyBase Data Movement Service: Domain\User or system account.
PBDMSSVCPASSWORD A SQL Server PolyBase Data Movement Service password is required only for a domain account.
PBDMSSVCSTARTUPTYPE Startup type for the SQL Server PolyBase Data Movement Service.
PBENGSVCACCOUNT Account for SQL Server PolyBase Engine: Domain\User or system account.
PBENGSVCPASSWORD A SQL Server PolyBase Engine service password is required only for a domain account.
PBENGSVCSTARTUPTYPE Startup type for the SQL Server PolyBase Engine.
PBPORTRANGE Port range for PolyBase Services (inclusive).
PID Specify the SQL Server product key to configure which edition you would like to use.
QUIET Setup will not display any user interface.
QUIETSIMPLE Setup will display progress only, without any user interaction.
ROLE Setup roles install SQL Server in a predetermined configuration.
RULES Specifies the list of rule IDs or rule group IDs to run.
SAPWD Password for SQL Server sa account.
SECURITYMODE The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication.
SQLBACKUPDIR Default directory for the Database Engine backup files.
SQLCOLLATION Specifies a Windows collation or an SQL collation to use for the Database Engine.
SQLMAXDOP The max degree of parallelism (MAXDOP) server configuration option.
SQLMAXMEMORY Use SQLMAXMEMORY to minimize the risk of the OS experiencing detrimental memory pressure.
SQLMINMEMORY Use SQLMINMEMORY to reserve a minimum amount of memory available to the SQL Server Memory Manager.
SQLSVCACCOUNT Account for SQL Server service: Domain\User or system account.
SQLSVCINSTANTFILEINIT Set to "True" to enable instant file initialization for SQL Server service.
SQLSVCPASSWORD A SQL Server service password is required only for a domain account.
SQLSVCSTARTUPTYPE Startup type for the SQL Server service.
SQLSYSADMINACCOUNTS Windows account(s) to provision as SQL Server system administrators.
SQLTELSVCACCT Account for SQL Server CEIP service: Domain\User or system account.
SQLTELSVCPASSWORD A SQL Server CEIP Engine service password is required only for a domain account.
SQLTELSVCSTARTUPTYPE Startup type for the SQL Server CEIP service.
SQLTEMPDBDIR Directories for Database Engine TempDB files.
SQLTEMPDBFILECOUNT The number of Database Engine TempDB files.
SQLTEMPDBFILEGROWTH Specifies the automatic growth increment of each Database Engine TempDB data file in MB.
SQLTEMPDBFILESIZE Specifies the initial size of a Database Engine TempDB data file in MB.
SQLTEMPDBLOGDIR Directory for the Database Engine TempDB log files.
SQLTEMPDBLOGFILEGROWTH Specifies the automatic growth increment of the Database Engine TempDB log file in MB.
SQLTEMPDBLOGFILESIZE Specifies the initial size of the Database Engine TempDB log file in MB.
SQLUSERDBDIR Default directory for the Database Engine user databases.
SQLUSERDBLOGDIR Default directory for the Database Engine user database logs.
SUPPRESSPAIDEDITIONNOTICE Specifies that SQL Server Setup should not display the paid edition notice when ran from the command line.
SUPPRESSPRIVACYSTATEMENTNOTI Specifies that SQL Server Setup should not display the privacy statement when ran from the command line.
TCPENABLED Specify 0 to disable or 1 to enable the TCP/IP protocol.
UIMODE 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.
UpdateEnabled 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.
UpdateSource 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.
USEMICROSOFTUPDATE If this parameter is provided, then this computer will use Microsoft Update to check for updates.
USESQLRECOMMENDEDMEMORYLIMIT Use USESQLRECOMMENDEDMEMORYLIMITS to minimize the risk of the OS experiencing detrimental memory pressure.

That's a lot

Aaron Bertrand

I am a passionate technologist with industry experience dating back to Classic ASP and SQL Server 6.5. I am a long-time Microsoft MVP, write at SQLPerformance and MSSQLTips, and have had the honor of speaking at more conferences than I can remember. In non-tech life, I am a father of two, a huge hockey and football fan, and my pronouns are he/him.