Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server su Linux
Questo script bash di esempio installa SQL Server in Ubuntu senza input interattivo. Fornisce esempi di installazione del motore di database, degli strumenti da riga di comando SQL Server, SQL Server Agent e di esecuzione di passaggi post-installazione. Facoltativamente, è possibile installare la ricerca full-text e creare un utente amministratore.
Tip
Se non è necessario uno script di installazione automatica, il modo più rapido per installare SQL Server consiste nel seguire l'avvio rapido per Ubuntu. Per altre informazioni sull'installazione, vedere Linee guida per l'installazione di SQL Server in Linux.
Prerequisiti
- Per eseguire SQL Server in Linux sono necessari almeno 2 GB di memoria.
- Il file system deve essere XFS o ext4. Altri file system, come BTRFS, non sono supportati.
- Per altri requisiti di sistema, vedere Requisiti di sistema per SQL Server su Linux.
Script di esempio
Questo esempio installa SQL Server 2019 (15.x) in Ubuntu Server 20.04. Se si vuole installare una versione diversa di SQL Server o Ubuntu Server, modificare di conseguenza i percorsi del repository Microsoft.
Salva lo script di esempio in un file e poi personalizzalo. È necessario sostituire i valori delle variabili nello script. È anche possibile impostare qualsiasi variabile di scripting come variabile di ambiente, purché venga rimossa dal file di script.
Lo script ritenta la connessione cinque volte mentre SQL Server avvia. Se tutti i tentativi falliscono, lo script esce con uno stato diverso da zero.
Importante
La variabile di ambiente SA_PASSWORD è deprecata. Utilizzare invece MSSQL_SA_PASSWORD.
La password deve seguire la politica predefinita di SQL Server password. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
#!/bin/bash -e
# Use the following variables to control your install:
# Password for the SA user (required)
MSSQL_SA_PASSWORD='<password>'
# Product ID of the version of SQL Server you're installing
# Must be evaluation, developer, express, web, standard, enterprise, or your 25-digit product key
# Defaults to evaluation
MSSQL_PID='evaluation'
# Enable SQL Server Agent (recommended)
SQL_ENABLE_AGENT='y'
# Install SQL Server Full-Text Search (optional)
# SQL_INSTALL_FULLTEXT='y'
# Create an additional user with sysadmin privileges (optional)
# SQL_INSTALL_USER='<Username>'
# SQL_INSTALL_USER_PASSWORD='<password>'
if [ -z "$MSSQL_SA_PASSWORD" ]
then
echo Environment variable MSSQL_SA_PASSWORD must be set for unattended install
exit 1
fi
echo Adding Microsoft repositories...
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
sudo add-apt-repository "${repoargs}"
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
sudo add-apt-repository "${repoargs}"
echo Running apt-get update -y...
sudo apt-get update -y
echo Installing SQL Server...
sudo apt-get install -y mssql-server
echo Running mssql-conf setup...
sudo MSSQL_SA_PASSWORD="$MSSQL_SA_PASSWORD" \
MSSQL_PID="$MSSQL_PID" \
/opt/mssql/bin/mssql-conf -n setup accept-eula
echo Installing mssql-tools and unixODBC developer...
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev
# Add SQL Server tools to the path by default:
echo Adding SQL Server tools to your path...
echo PATH="$PATH:/opt/mssql-tools/bin" >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# Optional Enable SQL Server Agent:
if [ -n "$SQL_ENABLE_AGENT" ]
then
echo Enabling SQL Server Agent...
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
fi
# Optional SQL Server Full-Text Search installation:
if [ -n "$SQL_INSTALL_FULLTEXT" ]
then
echo Installing SQL Server Full-Text Search...
sudo apt-get install -y mssql-server-fts
fi
# Configure firewall to allow TCP port 1433:
echo Configuring UFW to allow traffic on port 1433...
sudo ufw allow 1433/tcp
sudo ufw reload
# Optional example of post-installation configuration.
# Trace flags 1204 and 1222 are for deadlock tracing.
# echo Setting trace flags...
# sudo /opt/mssql/bin/mssql-conf trace flag 1204 1222 on
# Restart SQL Server after installing:
echo Restarting SQL Server...
sudo systemctl restart mssql-server
# Connect to server and get the version:
counter=1
errstatus=1
while [ "$counter" -le 5 ] && [ "$errstatus" -ne 0 ]
do
echo Waiting for SQL Server to start...
sleep 3s
if /opt/mssql-tools/bin/sqlcmd \
-S localhost \
-U sa \
-P "$MSSQL_SA_PASSWORD" \
-Q "SELECT @@VERSION" 2>/dev/null
then
errstatus=0
else
errstatus=$?
fi
((counter += 1))
done
# Display error if connection failed:
if [ "$errstatus" -ne 0 ]
then
echo Cannot connect to SQL Server, installation aborted
exit "$errstatus"
fi
# Optional new user creation:
if [ -n "$SQL_INSTALL_USER" ] && [ -n "$SQL_INSTALL_USER_PASSWORD" ]
then
echo Creating user "$SQL_INSTALL_USER"
/opt/mssql-tools/bin/sqlcmd \
-S localhost \
-U sa \
-P "$MSSQL_SA_PASSWORD" \
-Q "CREATE LOGIN [$SQL_INSTALL_USER] WITH PASSWORD=N'$SQL_INSTALL_USER_PASSWORD', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON; ALTER SERVER ROLE [sysadmin] ADD MEMBER [$SQL_INSTALL_USER]"
fi
echo Done!
Eseguire lo script
Per eseguire lo script:
Incollare l'esempio nell'editor di testo preferito e salvarlo con un nome facile da ricordare, ad esempio
install_sql.sh.Personalizzare
MSSQL_SA_PASSWORD,MSSQL_PIDe tutte le altre variabili che si vuole modificare.Contrassegnare lo script come eseguibile:
chmod +x install_sql.shEseguire lo script:
./install_sql.sh
Informazioni sullo script
La prima operazione eseguita dallo script Bash è l'impostazione di alcune variabili. Queste possono essere variabili di scripting, come nell'esempio, o variabili di ambiente. La variabile MSSQL_SA_PASSWORD è richiesta dall'installazione di SQL Server. Le altre sono variabili personalizzate create per lo script. Lo script di esempio esegue le operazioni seguenti:
Importare le chiavi di Microsoft GPG pubbliche.
Registrare i repository Microsoft per il software SQL Server e gli strumenti della riga di comando.
Aggiornare i repository locali.
Installare SQL Server.
Configurare SQL Server con
MSSQL_SA_PASSWORDe accettare automaticamente il contratto di licenza con l'utente finale.Accettare automaticamente il contratto di licenza con l'utente finale per gli strumenti da riga di comando di SQL Server, installarli e installare il pacchetto
unixodbc-dev.Aggiungere gli strumenti da riga di comando di SQL Server al percorso per facilitarne l'uso.
Abilita SQL Server Agent se la variabile
SQL_ENABLE_AGENTdi scripting è impostata. La variabile è impostata di default.Opzionalmente installa SQL Server Full-Text Search se la variabile
SQL_INSTALL_FULLTEXTè impostata.Sbloccare la porta 1433 per TCP sul firewall di sistema, necessaria per connettersi a SQL Server da un altro sistema.
Impostare facoltativamente i flag di traccia per il tracciamento dei deadlock (richiede di decommentare le righe).
Riavviare SQL Server.
Verifica che SQL Server sia installato correttamente nascondendo i messaggi di errore di connessione durante i tentativi.
Creare un nuovo utente amministratore del server se
SQL_INSTALL_USEReSQL_INSTALL_USER_PASSWORDsono entrambi impostati.
Installazione non supervisionata
Semplificare più installazioni automatiche e creare uno script Bash autonomo che imposta le variabili di ambiente appropriate. È possibile rimuovere le variabili usate dallo script di esempio e inserirle nel proprio script Bash.
#!/bin/bash
export MSSQL_SA_PASSWORD='<password>'
export MSSQL_PID='evaluation'
export SQL_ENABLE_AGENT='y'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<password>'
Caution
La password deve seguire la politica predefinita di SQL Server password. Per impostazione predefinita, la password deve essere composta da almeno otto caratteri e contenere caratteri di tre delle quattro categorie seguenti: lettere maiuscole, lettere minuscole, cifre in base 10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.
Eseguire quindi lo script Bash come indicato di seguito:
. ./my_script_name.sh