Panoramica
In questa guida parleremo di come installare e configurare un'istanza di SQL Server e il sqlcmd
client della riga di comando. Esamineremo come installare e configurare questi componenti sul tuo computer per l'accesso locale.
Questa guida tratterà le seguenti piattaforme:
- Configurazione di SQL Server su Windows
- Configurazione di SQL Server su macOS (con Docker)
- Configurazione di SQL Server su Linux
- Ubuntu
- CentOS e Red Hat
- Con Docker
Passa alle sezioni corrispondenti alle piattaforme con cui lavorerai.
Configurazione di SQL Server su Windows
Microsoft fornisce programmi di installazione nativi di Windows per SQL Server sul proprio sito e offre varie versioni di SQL Server adatte a scopi diversi. Ai fini di questa guida, scaricheremo e installeremo l'edizione gratuita per sviluppatori. Puoi facilmente eseguire l'upgrade a una versione a pagamento dall'edizione Developer se desideri utilizzarla per la produzione.
Per iniziare, visita la pagina di Microsoft per SQL Server. Trova la sezione relativa all'edizione per sviluppatori e fai clic su Scarica ora :
Una volta completato il download, fai doppio clic sul file per eseguire il programma di installazione (potresti dover confermare che desideri consentire al programma di apportare modifiche al tuo computer).
Nella schermata iniziale del programma di installazione, ti verrà chiesto di scegliere il tipo di installazione che desideri eseguire:
Scegli Base per continuare con un'installazione convenzionale utilizzando le opzioni più comuni.
Successivamente, ti verrà chiesto di accettare i termini di licenza della Developer Edition:
Dopo aver letto la licenza e accettato i termini, fai clic su Accetta per continuare.
Quindi, conferma o modifica il percorso di installazione:
Quando sei pronto, fai clic su Installa per iniziare il processo di installazione.
Il programma di installazione inizierà a scaricare e installare i componenti per configurare SQL Server sul tuo computer:
Al termine dell'installazione, verrà visualizzata una schermata in cui sono riportate le proprietà dell'installazione corrente:
Per connetterti subito alla nuova istanza di SQL Server, fai clic su Connetti ora in basso.
Una nuova finestra Cmd
verrà visualizzata la finestra e ti collegherà automaticamente all'istanza di SQL Server utilizzando sqlcmd
cliente:
Come mostrato in un commento nella parte superiore della finestra, puoi connetterti a SQL Server manualmente in qualsiasi momento con sqlcmd
cliente digitando:
sqlcmd -S <yourhostname> -E
Per uscire dalla sessione SQL corrente, digitare:
EXIT
Configurazione di SQL Server su macOS
Sebbene Microsoft non fornisca un programma di installazione nativo per macOS, supporta l'esecuzione di SQL Server su macOS tramite Docker. Il contenitore Docker principale di SQL Server viene creato utilizzando un contenitore Linux, consentendo a qualsiasi host in grado di eseguire contenitori Docker di eseguire il server di database.
Avrai bisogno di almeno 2 GB di memoria (probabilmente almeno un po' di più) per eseguire correttamente l'immagine, tuttavia Docker stesso richiede almeno 4 GB di memoria.
Per iniziare, assicurati di avere Docker sul tuo sistema. Docker Desktop per Mac include Docker Engine e altre applicazioni correlate. Se non hai ancora installato Docker, segui le istruzioni incluse nel link sopra.
Una volta che Docker è attivo e funzionante, puoi estrarre l'immagine Docker di SQL Server da Microsoft Container Registry digitando:
docker pull mcr.microsoft.com/mssql/server:2019-latest
Questo scaricherà tutti i livelli di immagine richiesti sul tuo sistema locale, consentendo un avvio più rapido.
Quando sei pronto per avviare il contenitore, digita il seguente comando.
Ricordati di sostituire <password>
con il valore della password prevista e scegli un valore conforme alla politica della password dell'immagine. Al momento della stesura di questo documento, la politica è definita come segue:"La password deve essere lunga almeno 8 caratteri e contenere caratteri di tre dei seguenti quattro set:lettere maiuscole, lettere minuscole, 10 cifre in base e simboli.":
docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
Il contenitore di SQL Server verrà avviato in background. La stringa di caratteri visualizzata è l'ID del nuovo contenitore.
Puoi verificare che il contenitore sia attivo e funzionante digitando:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Dovresti vedere il mssql
contenitore tra l'elenco. Se il contenitore non è in esecuzione o hai problemi, puoi provare a visualizzarne i log per vedere se sono presenti messaggi utili:
docker logs mssql
Il contenitore di SQL Server non solo ha installato il server di database, ma ha anche alcuni degli strumenti comuni disponibili, incluso il sqlcmd
client della riga di comando. Per utilizzare questo client per la connessione all'istanza del database, puoi utilizzare docker exec
per accedere al comando e autenticarsi sul database:
docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Verrai autenticato su SQL Server all'interno del contenitore e inserito in una shell SQL. Puoi verificare che tutto sia attivo e funzionante digitando:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Per uscire dalla sessione SQL e tornare alla normale shell, digita:
EXIT
Per chiudere il contenitore di SQL Server quando hai finito, puoi interromperlo digitando:
docker stop mssql
Per rimuovere l'istanza del contenitore (inclusi tutti i dati all'interno!), digita:
docker rm mssql
Per rendere persistenti i dati nel tuo contenitore di SQL Server, puoi utilizzare una delle tecniche descritte nella documentazione Microsoft o dare un'occhiata alla documentazione di Docker sull'utilizzo dei volumi di dati con i contenitori.
Configurazione di SQL Server su Linux
I metodi di installazione variano a seconda della distribuzione Linux in uso. Segui la sezione seguente che corrisponde alla tua distribuzione Linux. Ci sono anche istruzioni sull'utilizzo di Docker se preferisci quella configurazione o desideri utilizzare una distribuzione non elencata.
- Ubuntu
- CentOS e Red Hat
- Con Docker
Ubuntu
Il modo più semplice per installare SQL Server su Ubuntu 20.04 è installare dai repository dedicati forniti da Microsoft. La macchina deve disporre di almeno 2 GB di memoria per installare ed eseguire correttamente il software necessario.
Per iniziare, aggiungi una nuova definizione di repository al tuo sistema digitando:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
Devi anche aggiungere un repository separato per ottenere l'accesso a sqlcmd
binari e altri strumenti:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
Quindi, aggiungi la chiave di firma del pacchetto Microsoft a apt
in modo che consideri attendibili i pacchetti nel nuovo repository:
wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Con il repository impostato, puoi installare SQL Server e sqlcmd
client della riga di comando digitando:
sudo apt install mssql-server mssql-tools unixodbc-dev
Una volta completata l'installazione, è necessario configurare la nuova istanza del database. Per farlo, esegui il mssql-conf setup
incluso script per impostare alcune delle proprietà di base del tuo nuovo sistema:
sudo /opt/mssql/bin/mssql-conf setup
Ti verranno poste una serie di domande per configurare il server del database.
Innanzitutto, ti chiederà quale edizione di SQL Server desideri utilizzare:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Se hai una licenza a pagamento, puoi scegliere la versione appropriata. Se stai utilizzando il server in un ambiente non di produzione, è possibile scegliere l'edizione per sviluppatori.
Successivamente, dovrai accettare nuovamente i termini della licenza:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Infine, dovrai impostare e confermare una password per l'account dell'amministratore di sistema di SQL Server (chiamato account SA in molti punti):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Per utilizzare sqlcmd
client per connettersi all'istanza di SQL Server, è più semplice aggiungere mssql-tools
directory binaria nel tuo PATH
. Per configurarlo, digita:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Successivamente, re-source uno dei due file sopra per valutare il nuovo PATH
per la sessione corrente:
source ~/.bashrc
Ora puoi connetterti all'istanza del tuo database digitando:
sqlcmd -U SA -S 127.0.0.1
Ti verrà richiesta la password che hai impostato in precedenza. Dopo aver eseguito correttamente l'autenticazione, verrai inserito in una shell SQL. Da qui puoi verificare che tutto funzioni stampando la versione del server:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64> (1 rows affected)
Per uscire dalla shell SQL e tornare alla riga di comando, puoi digitare:
EXIT
CentOS e Red Hat
Il modo più semplice per installare SQL Server su CentOS o Red Hat è utilizzare i repository forniti da Microsoft. Gli host Linux devono disporre di almeno 2 GB di memoria per installare ed eseguire SQL Server.
Prima di installare SQL Server, è necessario installare e configurare le sue dipendenze. Abbiamo bisogno sia di Python 2 che di OpenSSL 10 per continuare:
sudo yum install python2 compat-openssl10
Dopo aver installato Python 2, configura il sistema per usarlo come istanza Python predefinita:
sudo alternatives --config python
Dall'elenco che segue, seleziona il numero associato all'installazione di Python 2. Nell'esempio seguente, questa sarà l'opzione 2:
There are 2 programs which provide 'python'. Selection Command ----------------------------------------------- *+ 1 /usr/libexec/no-python 2 /usr/bin/python2 Enter to keep the current selection[+], or type selection number: 2
Con le dipendenze in atto, ora puoi configurare il repository YUM di SQL Server:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
Successivamente, è necessario configurare un repository aggiuntivo per ottenere l'accesso a sqlcmd
e altri strumenti:
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
Una volta configurati i repository, installa SQL Server digitando:
sudo yum install mssql-server mssql-tools unixODBC-devel
Una volta completata l'installazione, è necessario configurare la nuova istanza del database. Per farlo, esegui il mssql-conf setup
incluso script per impostare alcune delle proprietà di base del tuo nuovo sistema:
sudo /opt/mssql/bin/mssql-conf setup
Ti verranno poste una serie di domande per configurare il server del database.
Innanzitutto, ti chiederà quale edizione di SQL Server desideri utilizzare:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Se hai una licenza a pagamento, puoi scegliere la versione appropriata. Se stai utilizzando il server in un ambiente non di produzione, è possibile scegliere l'edizione per sviluppatori.
Successivamente, dovrai accettare nuovamente i termini della licenza:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Infine, dovrai impostare e confermare una password per l'account dell'amministratore di sistema di SQL Server (chiamato account SA in molti punti):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Per utilizzare sqlcmd
client per connettersi all'istanza di SQL Server, è più semplice aggiungere mssql-tools
directory binaria nel tuo PATH
. Per configurarlo, digita:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Successivamente, re-source uno dei due file sopra per valutare il nuovo PATH
per la sessione corrente:
source ~/.bashrc
Ora puoi connetterti all'istanza del tuo database digitando:
sqlcmd -U SA -S 127.0.0.1
Ti verrà richiesta la password che hai impostato in precedenza. Dopo aver eseguito correttamente l'autenticazione, verrai inserito in una shell SQL. Da qui puoi verificare che tutto funzioni stampando la versione del server:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64> (1 rows affected)
Per uscire dalla shell SQL e tornare alla riga di comando, puoi digitare:
EXIT
Con Docker
Se stai usando una distribuzione Linux per la quale Microsoft non fornisce pacchetti o semplicemente preferisci, un'altra opzione consiste nell'esecuzione di SQL Server con Docker. Avrai bisogno di almeno 2 GB di memoria (probabilmente almeno un po' di più) per eseguire correttamente l'immagine.
Per iniziare, assicurati di avere Docker Engine sul tuo sistema. Puoi trovare istruzioni dettagliate per varie piattaforme nella documentazione di Docker Engine.
Una volta che Docker è attivo e funzionante, puoi estrarre l'immagine Docker di SQL Server da Microsoft Container Registry digitando:
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Questo scaricherà tutti i livelli di immagine richiesti sul tuo sistema locale, consentendo un avvio più rapido.
Quando sei pronto per avviare il contenitore, digita il seguente comando.
Ricordati di sostituire <password>
con il valore della password prevista e scegli un valore conforme alla politica della password dell'immagine. Al momento della stesura di questo documento, la politica è definita come segue:"La password deve essere lunga almeno 8 caratteri e contenere caratteri di tre dei seguenti quattro set:lettere maiuscole, lettere minuscole, 10 cifre in base e simboli.":
sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
Il contenitore di SQL Server verrà avviato in background. La stringa di caratteri visualizzata è l'ID del nuovo contenitore.
Puoi verificare che il contenitore sia attivo e funzionante digitando:
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Dovresti vedere il mssql
contenitore tra l'elenco. Se il contenitore non è in esecuzione o hai problemi, puoi provare a visualizzarne i log per vedere se sono presenti messaggi utili:
sudo docker logs mssql
Il contenitore di SQL Server non solo ha installato il server di database, ma ha anche alcuni degli strumenti comuni disponibili, incluso il sqlcmd
client della riga di comando. Per utilizzare questo client per la connessione all'istanza del database, puoi utilizzare docker exec
per accedere al comando e autenticarsi sul database:
sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Verrai autenticato su SQL Server all'interno del contenitore e inserito in una shell SQL. Puoi verificare che tutto sia attivo e funzionante digitando:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Per uscire dalla sessione SQL e tornare alla normale shell, digita:
EXIT
Per chiudere il contenitore di SQL Server quando hai finito, puoi interromperlo digitando:
sudo docker stop mssql
Per rimuovere l'istanza del contenitore (inclusi tutti i dati all'interno!), digita:
sudo docker rm mssql
Per rendere persistenti i dati nel tuo contenitore di SQL Server, puoi utilizzare una delle tecniche descritte nella documentazione Microsoft o dare un'occhiata alla documentazione di Docker sull'utilizzo dei volumi di dati con i contenitori.