Jak wykonać nie nadzorowaną instalacje MS SQL Server? Potrzebujesz wykonać identyczna instalacje na kilku nodach klastra? Jak przygotować automatyczną instalacje SQL Server w lab? W jaki sposób zainstalować MS SQL Server na Windows Core?
Na wszystkie powyższe pytania możemy odpowiedzieć … z użyciem nienadzorowanej instalacji. Wystarczy wyedytować przygotowany plik konfiguracyjny i jego udziałem wywołać samom instalacje. O tym gdzie go znaleźć i jak to zrobić przeczytasz poniżej.
Plik konfiguracyjny jest dostępny tu pod koniec procesu instalacji MS SQL Server. Po uruchomieniu instalacji, wprowadzamy w kreatorze GUI wszelkie interesujące nas parametry (nazwę instancji, konta gMSA, tryb autentykacji, hasło SA, ścieżki etc).
Tuz przed sama akceptacja i rozpoczęciem procesu w kreatorze pojawi się lokalizacja naszego pliku konfiguracyjnego.
Otwieramy plik konfiguracyjny i zaczynamy od (parametry maja swoje komentarze – warto poczytać):
IACCEPTPYTHONLICENSETERMS="True"
IACCEPTROPENLICENSETERMS="True"
Następnie (uwaga UIMODE komentuje)
QUIET="True"
;UIMODE="Normal"
W moim przypadku wprowadzam też hasło dla SA – używam Mixed dodajac parametr SAPWD=”haslo”:
SAPWD="trUDN3Hasl0"
Za każdym razem przed instalacja zmieniam również parametry odpowiedzialne za nazwę instancji:
INSTANCENAME="INSTANCE02"
INSTANCEID="INSTANCE02"
SQLTELSVCACCT="NT Service\SQLTELEMETRY$INSTANCE02"
Tak gotowy plik zapisujemy i kopiujemy na środowisko gdzie chcemy wykonać instalację, następnie z poziomu CMD wydaje polecenie instalacji z parametrami:
setup.exe /ConfigurationFile="C:\ConfigurationFile.ini" /IAcceptSQLServerLicenseTerms
Po chwili instancja jest gotowa do działania. Prawda że proste?
Poniżej cały plik używany prze zemnie w przykładzie – szczegóły od Microsoftu tutaj.
Plik tworzy instancje o nazwie INSTANCE02, pliki baz danych maja zmieniona lokalizacje, doadaje użytkownika domenowego TEST\Administrator do grupy sysadmin, używam autentykacji SA, podaje chasło do SA, uruchamiam usługi na oreślonym koncie gMSA.
;SQL Server 2019 Configuration File
[OPTIONS]
; By specifying this parameter and accepting Microsoft Python Open and Microsoft Python Server terms, you acknowledge that you have read and understood the terms of use.
IACCEPTPYTHONLICENSETERMS="True"
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter.
ACTION="Install"
; 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"
; Specifies that SQL Server Setup should not display the privacy statement when ran from the command line.
SUPPRESSPRIVACYSTATEMENTNOTICE="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="True"
; 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="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"
; Specifies that SQL Server Setup should not display the paid edition notice when ran from the command line.
SUPPRESSPAIDEDITIONNOTICE="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"
; 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.
FEATURES=SQLENGINE
; 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"
; 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).
INSTANCENAME="INSTANCE03"
; 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 the root installation directory for the WOW64 shared components. This directory remains unchanged after WOW64 shared components are already installed.
INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"
; 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="INSTANCE03"
; Account for SQL Server CEIP service: Domain\User or system account.
SQLTELSVCACCT="NT Service\SQLTELEMETRY$INSTANCE03"
; Startup type for the SQL Server CEIP service.
SQLTELSVCSTARTUPTYPE="Automatic"
; Specify the installation directory.
INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
; Agent account name
AGTSVCACCOUNT="TEST\account_gMSA$"
; 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"
; The max degree of parallelism (MAXDOP) server configuration option.
SQLMAXDOP="2"
; 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="SQL_Latin1_General_CP1_CI_AS"
; Account for SQL Server service: Domain\User or system account.
SQLSVCACCOUNT="TEST\account_gMSA$"
; Set to "True" to enable instant file initialization for SQL Server service. If enabled, Setup will grant Perform Volume Maintenance Task privilege to the Database Engine Service SID. This may lead to information disclosure as it could allow deleted content to be accessed by an unauthorized principal.
SQLSVCINSTANTFILEINIT="False"
; Windows account(s) to provision as SQL Server system administrators.
SQLSYSADMINACCOUNTS="TEST\administrator"
; The default is Windows Authentication. Use "SQL" for Mixed Mode Authentication.
SECURITYMODE="SQL"
SAPWD="trUDN3Hasl0"
; The number of Database Engine TempDB files.
SQLTEMPDBFILECOUNT="2"
; Specifies the initial size of a Database Engine TempDB data file in MB.
SQLTEMPDBFILESIZE="8"
; Specifies the automatic growth increment of each Database Engine TempDB data file in MB.
SQLTEMPDBFILEGROWTH="64"
; Specifies the initial size of the Database Engine TempDB log file in MB.
SQLTEMPDBLOGFILESIZE="8"
; Specifies the automatic growth increment of the Database Engine TempDB log file in MB.
SQLTEMPDBLOGFILEGROWTH="64"
; Default directory for the Database Engine backup files.
SQLBACKUPDIR="C:\backup"
; Default directory for the Database Engine user databases.
SQLUSERDBDIR="C:\Program Files\Microsoft SQL Server\MSSQL\Data"
; Directories for Database Engine TempDB files.
SQLTEMPDBDIR="C:\Program Files\Microsoft SQL Server\MSSQL\Data"
; Directory for the Database Engine TempDB log files.
SQLTEMPDBLOGDIR="C:\Program Files\Microsoft SQL Server\MSSQL\Data"
; Provision current user as a Database Engine system administrator for SQL Server 2019 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"
; Use SQLMAXMEMORY to minimize the risk of the OS experiencing detrimental memory pressure.
SQLMAXMEMORY="2147483647"
; Use SQLMINMEMORY to reserve a minimum amount of memory available to the SQL Server Memory Manager.
SQLMINMEMORY="0"