Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Configurazione di un database SQL Server locale


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.