Instal·lació Microsoft SQL Server 2017 desatesa

17 octubre 2017
Josep Ma Solanes 0

Donant continuació a l’entrada de instal·lació de Microsoft SQL Server 2017, aquest cop es realitza una instal·lació Microsoft SQL Server 2017 desatesa sobre un servidor Microsoft Windows Server 2016 en l’edició CORE. Tot i què es faci en aquesta edició de Windows Server, el procés també serveix per l’edició Desktop.

Pels que ja heu llegit l’entrada sobre la instal·lació de Microsoft SQL Server 2017 en Windows Server 2016 us podeu saltar la part de requisits ja què és el mateix, no obstant, la configuració la realitzem des de la consola en comptes de l’entorn gràfic.

 

Requisits per la instal·lació Microsoft SQL Server 2017 en Windows Server core

Per aquesta entrada utilitzaré un Microsoft Windows Server 2016 en l’edició CORE. A banda de la instal·lació bàsica del propi servidor, heu de tenir en compte la configuració especial de discs per l’SQL Server. Sobretot pels entorns de producció. En la instal·lació bàsica n’utilitzarem quatre:

  • Volum per l’aplicació i instància principal de la base de dades.
  • Volum per les bases de dades d’usuari
  • Volum per les transaccions (logs) de les bases de dades
  • Volum per les bases de dades i fitxers de transaccions de la base de dades TempDB

En el moment d’inicialitzar els discs, assegureu que utilitzeu el format de partició GPT en tots ells.

 

Des de la consola, arrancar l’eina de gestió de discs diskpart, escrivint la comanda:

diskpart

Localitzem els discs que tenim reconeguts pel sistema:

list disk

Perfecte, es visualitzen els quatre disc a punt per donar format. Fixeu-vos que estan sense connexió.

Comencem la configuració dels discs pel d’aplicacions. Sistema de fitxers NTFS assignat a la unitat E i amb la unitat d’assignació per defecte.

Seleccionar el primer disc:

Select disk 1

Es posa en línia:

online disk

Esborrar el seu possible contingut en quan a configuracions i particions:

clean

Eliminar el bloqueig contra escriptura:

attribute disk clear readonly

Convertir-lo a GPT:

convert gpt

Crear la primera partició primària amb tot l’espai de disc:

create partition primary

Llistar els volums que conté el sistema, ha d’aparèixer el nou volum en cru (RAW):

list volume

Seleccionar el nou volum (que està en cru – RAW):

select volume 3

Formatar el volum amb sistema de fitxers NTFS i unitat d’assignació per defecte, a més, li afegim l’etiqueta SQLApps perquè ens sigui més fàcil reconèixer-lo:

format fs=NTFS label="SQLApps" quick

Assignar la lletra d’unitat que li correspongui, en el meu cas la E:

assign letter=e

Llistar els volums per comprovar que tot és correcte:

list volume

Repetir el procés pel volum de base de dades, però aquest cop amb tipus de sistema de fitxers ReFS, unitat d’assignació de 64K i unitat de disk K. Executo els list per anar comprovant la creació dels diferents elements i poder assegurar que el què es selecciona és el correcte:

list disk
select disk 2
online disk
clean
attribute disk clear readonly
convert gpt
create partition primary
list volume
select volume 4
format fs=ReFS unit=64k label="SQLdb" quick
assign letter=K
list volume

Repetir el procés pel volum de logs, igual que l’anterior, però amb unitat de disk L:

list disk
select disk 3
online disk
clean
attribute disk clear readonly
convert gpt
create partition primary
list volume
select volume 5
format fs=ReFS unit=64k label="SQLlogs" quick
assign letter=L
list volume

Finalment, creació del volum per la base de dades TempDB, igual que l’anterior, però amb unitat de disk T:

list disk
select disk 4
online disk
clean
attribute disk clear readonly
convert gpt
create partition primary
list volume
select volume 6
format fs=ReFS unit=64k label="SQLTempDB" quick
assign letter=T
list volume

Amb els volums creats, ja es pot sortir del diskpart amb un:

exit

 

Instal·lació de Microsoft SQL Server 2017 desatesa

Per la instal·lació Microsoft SQL Server 2017 desatesa en un servidor Windows Server 2016 edició core, es pot fer des de la línia de comandes afegint els paràmetres un a un o bé utilitzar un fitxer de configuració. Jo prefereixo el fitxer de configuració què és més ràpid de reproduir i gestionar. Per tant, procedim primer a crear el fitxer amb extensió .INI al bloc de notes, o qualsevol altre editor de text de comandes, amb tots els paràmetres necessaris per la instal·lació de Microsoft SQL Server 2017.

La primera comanda que indicarem és [OPTIONS] i a continuació anirem posant els diferents variables de configuració del SQL Server:

[OPTIONS]

Anem sumant els paràmetres d’instal·lació. El primer és el mètode, instal·lació o actualització. Indicar Instal·lació:

ACTION="Install"

Gestió dels termes de la llicència, naturalment els acceptem:

IACCEPTPYTHONLICENSETERMS = "True"
IACCEPTROPENLICENSETERMS = "True"

Com que no disposem d’entorn gràfic, assegurem que no apareixen els quadres de diàleg, però si les finestres amb les barres de progrés per fer-ne un seguiment visual. No obstant, es podria obviar:

SUPPRESSPRIVACYSTATEMENTNOTICE="True"
QUIET="False"
QUIETSIMPLE="True"
HELP="False"
INDICATEPROGRESS="False"

Localització de la instal·lació, deixem-ho amb Anglès per evitar problemes d’idioma:

ENU="True"

Possibilitat de realitzar les típiques actualitzacions durant el procés de instal·lació. El deixo configurat perquè es facin les actualitzacions descarregant directament des d’Internet del Microsoft Update (paràmetre UpdateSource MU). En cas que les actualitzacions es tinguessin descarregades en una carpeta local, en comptes del MU s’indica la ruta d’aquesta carpeta:

UpdateEnabled="True"
UpdateSource="MU"
USEMICROSOFTUPDATE="False"

Què s’ha d’instal·lar? Només el motor de base de dades (SQLENGINE), en directori WOW64 (x64).

Els valors vàlids sobre un Windows Server core de les FEATURES a instal·lar són:

Servei de SQL Server Valor
Motor de base de dades SQLEngine
Sistema de rèpliques Replication
Recerca a text complet FullText
Analysis Services AS
Integration Services IS
Eines de connectivitat Conn
FEATURES=SQLENGINE,Replication,FullText,Conn
X86="False"

Comencen els paràmetres de personalització del servidor Microsoft SQL Server 2017:

Nom de la instància:

INSTANCENAME="MSSQLSERVER"

Ubicació dels directoris compartits i instància afectada per la instal·lació (com que només en tenim una, la seleccionem, és la que s’ha indicat en el punt anterior).

INSTALLSHAREDDIR="E:\Program Files\Microsoft SQL Server"
INSTALLSHAREDWOWDIR="E:\Program Files (x86)\Microsoft SQL Server"
INSTANCEID="MSSQLSERVER"

Ubicació de la instància:

INSTANCEDIR="E:\Program Files\Microsoft SQL Server"

Comptes d’usuari de servei:
Telemetria:

SQLTELSVCACCT="NT Service\SQLTELEMETRY"
SQLTELSVCSTARTUPTYPE="Automatic"

Servei d’Agent:

AGTSVCACCOUNT="NT Service\SQLSERVERAGENT"
AGTSVCSTARTUPTYPE="Automatic"

Motor de base de dades:

SQLSVCACCOUNT="NT Service\MSSQLSERVER"
SQLSVCSTARTUPTYPE="Automatic"

Especificar el Collation per defecte del motor de base de dades:

SQLCOLLATION="Modern_Spanish_CI_AS"

Usuaris amb permisos administratius per la base de dades, afegeixo l’usuari local del servidor, ull que com a valor ha de tenir el nom del servidor i el nom de l’usuari que correspongui. Ho podeu comprovar per PowerShell amb les comandes Hostname i Get-LocalUser:

SQLSYSADMINACCOUNTS="SQL2017CORE\Administrador"

Aquest punt permet afegir l’usuari que instal·la el SQL Server com administrador del mateix. Jo prefereixo afegir el grup de seguretat d’administradors de SQL Server i no usuaris individuals.

ADDCURRENTUSERASSQLADMIN="False"

Especificar el tipus de seguretat mixta al SQL Server. La contrasenya del sa no s’especifica dins el fitxer sinó que es fa des de la línia de comandes de la instal·lació amb el paràmetre /SAPWD=”contrasenya”:

SECURITYMODE="SQL"

Configuració del FILESTREAM, deixo valor 0:

FILESTREAMLEVEL="0"

Configuració de la base de dades temporal TEMPDB:

SQLTEMPDBDIR="T:\MSSQL\Data"
SQLTEMPDBLOGDIR="T:\MSSQL\Data"
SQLTEMPDBFILECOUNT="1"
SQLTEMPDBFILESIZE="8"
SQLTEMPDBFILEGROWTH="64"
SQLTEMPDBLOGFILESIZE="8"
SQLTEMPDBLOGFILEGROWTH="64"

Ubicació dels fitxers de les base de dades, segueixo les lletres de la unitat de l’apartat de requeriments d’aquesta entrada:

SQLUSERDBDIR="K:\MSSQL\Data"
SQLUSERDBLOGDIR="L:\MSSQL\Logs"

Protocols de connexió pel servidor Microsoft SQL Server 2017. En tenim dos, el TCP i el Named Pipes. Naturalment, el primer habilitat, el TCP, i el segon deshabilitat. No haurieu d’utilitzar Named Pipes en aquestes alçades.

TCPENABLED="1"
NPENABLED="0"

Els següents paràmetres s’han d’incloure en valor 0 al fitxer, no obstant, no he trobat informació al respecte de la seva funció:

COMMFABRICPORT="0"
COMMFABRICNETWORKLEVEL="0"
COMMFABRICENCRYPTION="0"
MATRIXCMBRICKCOMMPORT="0"

Altres paràmetres:
Habilitar el RANU per l’edició SQL Server Express (permetre a usuaris no administradors utilitzar SQL Server com un magatzem de dades per aplicacions de Windows Forms).

ENABLERANU="False"

Deshabilitar l’inici del servei de Browser:

BROWSERSVCSTARTUPTYPE="Disabled"

Garantir els permisos de les tasques de manteniment de volums al servei de SQL Server. Utilitzar segons cregueu convenient segons les capacitats i configuració del servidor. En el meu cas, la desactivo per motius de seguretat:

SQLSVCINSTANTFILEINIT="False"

A continuació totes les comandes al complet perquè les pugueu copiar, modificar i enganxar on us interessi:

;Fitxer de configuració SQL Server 2017 core
[OPTIONS]
ACTION="Install"
IACCEPTPYTHONLICENSETERMS="True"
IACCEPTROPENLICENSETERMS="True"
SUPPRESSPRIVACYSTATEMENTNOTICE="True"
QUIET="False"
QUIETSIMPLE="True"
;UIMODE="EnableUIOnServerCore"
ENU="True"
UpdateEnabled="True"
UpdateSource="MU"
USEMICROSOFTUPDATE="False"
FEATURES=SQLENGINE
HELP="False"
INDICATEPROGRESS="False"
X86="False"

INSTANCENAME="MSSQLSERVER"
INSTALLSHAREDDIR="E:\Program Files\Microsoft SQL Server"
INSTALLSHAREDWOWDIR="E:\Program Files (x86)\Microsoft SQL Server"
INSTANCEID="MSSQLSERVER"
INSTANCEDIR="E:\Program Files\Microsoft SQL Server"

SQLTELSVCACCT="NT Service\SQLTELEMETRY"
SQLTELSVCSTARTUPTYPE="Automatic"
AGTSVCACCOUNT="NT Service\SQLSERVERAGENT"
AGTSVCSTARTUPTYPE="Manual"
SQLSVCACCOUNT="NT Service\MSSQLSERVER"
SQLSVCSTARTUPTYPE="Automatic"

SQLCOLLATION="Modern_Spanish_CI_AS"
SQLSYSADMINACCOUNTS="SQL2017CORE\Administrador"
ADDCURRENTUSERASSQLADMIN="False"
SECURITYMODE="SQL"
FILESTREAMLEVEL="0"

SQLTEMPDBDIR="T:\MSSQL\Data"
SQLTEMPDBFILECOUNT="1"
SQLTEMPDBFILESIZE="8"
SQLTEMPDBFILEGROWTH="64"
SQLTEMPDBLOGFILESIZE="8"
SQLTEMPDBLOGFILEGROWTH="64"

SQLUSERDBDIR="K:\MSSQL\Data"
SQLUSERDBLOGDIR="L:\MSSQL\Logs"

TCPENABLED="1"
NPENABLED="0"

COMMFABRICPORT="0"
COMMFABRICNETWORKLEVEL="0"
COMMFABRICENCRYPTION="0"
MATRIXCMBRICKCOMMPORT="0"

ENABLERANU="False"
BROWSERSVCSTARTUPTYPE="Disabled"
SQLSVCINSTANTFILEINIT="False"

Tenim el fitxer, que podem crear directament al servidor Windows Server core amb el notepad i enganxar el contingut:

notepad e:\SQL2017core.ini

 

Instal·lació Microsoft SQL Server 2017 desatesa

Amb el fitxer de configuració creat, només queda realitzar la instal·lació des de la línia de comandes indicant la ruta i nom del fitxer així com les contrasenyes dels usuaris de les comptes de servei (en cas que siguin usuaris externs) i sa (en cas que la configuració del SQL sigui mixta) necessaris:

Servei de SQL Server Paràmetre
Motor de base de dades /SQLSVCPASSWORD=”****”
Agent /AGTSVCPASSWORD=”****”
Analysis Services /ASSVCPASSWORD=”****”
Granja Analysis Services /FARMPASSWORD=”****”
Reporting Services /RSSVCPASSWORD=”****”
Usuari administrador SQL Server sa /SAPWD=”****”

Executar la comanda:

setup /IAcceptSQLServerLicenseTerms /SAPWD="Hola!Hola!" /ConfigurationFile=e:\sql2017core.ini

Primer fa la comprovació d’actualitzacions

I després el procés d’instal·lació pròpiament dit. Una mica de paciència mentre s’instal·la.

Finalitzada la instal·lació, accedim a la PowerShell, executant la comanda:

powershell

 

Configuració del tallafocs

Amb el Microsoft SQL Server 2017 instal·lat, queda pendent poder connectar-nos des de la xarxa a ell. Per fer-ho, cal habilitar el port TCP 1433 i UDP 1434 o bé donar d’alta el servei en el tallafocs.

Obrir els ports TCP 1433 i UDP 1434

Executar les comandes:

New-NetFirewallRule -Name "SQLServerTCP1433" -DisplayName "SQL Server TCP 1433" -Enabled True -Profile Any -Direction Inbound -Action Allow -Protocol "TCP" -LocalPort 1433
New-NetFirewallRule -Name "SQLServerUDP1434" -DisplayName "SQL Server UDP 1434" -Enabled True -Profile Any -Direction Inbound -Action Allow -Protocol "UDP" -LocalPort 1434

Comprovar que s’han creat les dues regles:

Get-NetFirewallRule |Where-Object{$_.Name -like "*sql*"}

Per deshabilitar les regles anteriors, en cas que fos necessari:

Get-NetFirewallRule |Where-Object{$_.Name -like "*sql*"} | Set-NetFirewallRule -Enabled false

 

Configuració de tallafocs a nivell del servei SQL

En cas de fer-ho a nivell de servei i que l’executable es trobi a la ruta indicada, executar la comanda:

New-NetFirewallRule -Name "SQLServer2017" -DisplayName "SQL Server 2017" -Enabled True -Profile Any -Direction Inbound -Action Allow -Program 'E:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn\sqlservr.exe'

Ja podem realitzar la connexió des de la consola al nou servidor Microsoft SQL Server 2017 sobre Windows Server Core i a treballar!

 

T’ha agradat l’article? El pots compartir a les xarxes socials. També pots deixar la teva opinió, comentari o suggeriment. Gràcies!

Similar Posts by The Author: