Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Configuration d'une base de données SQL Server locale


Aperçu

Dans ce guide, nous expliquerons comment installer et configurer une instance SQL Server et le sqlcmd client en ligne de commande. Nous verrons comment installer et configurer ces composants sur votre ordinateur pour un accès local.

Ce guide couvrira les plates-formes suivantes :

  • Configuration de SQL Server sous Windows
  • Configuration de SQL Server sur macOS (avec Docker)
  • Configuration de SQL Server sur Linux
    • Ubuntu
    • CentOS et Red Hat
    • Avec Docker

Accédez aux sections correspondant aux plates-formes avec lesquelles vous travaillerez.



Configuration de SQL Server sous Windows

Microsoft fournit des programmes d'installation Windows natifs pour SQL Server sur son site et propose différentes versions de SQL Server adaptées à différents objectifs. Pour les besoins de ce guide, nous téléchargerons et installerons l'édition gratuite Developer. Vous pouvez facilement passer à une version payante de l'édition Developer si vous souhaitez l'utiliser pour la production.

Pour commencer, visitez la page de Microsoft pour SQL Server. Recherchez la section relative à l'édition développeur et cliquez sur Télécharger maintenant :

Une fois le téléchargement terminé, double-cliquez sur le fichier pour exécuter le programme d'installation (vous devrez peut-être confirmer que vous souhaitez autoriser le programme à apporter des modifications à votre ordinateur).

Sur l'écran initial du programme d'installation, il vous sera demandé de choisir le type d'installation que vous souhaitez effectuer :

Choisissez De base pour continuer avec une installation conventionnelle en utilisant les options les plus courantes.

Ensuite, il vous sera demandé d'accepter les conditions de licence de l'édition développeur :

Lorsque vous avez lu la licence et accepté les conditions, cliquez sur Accepter pour continuer.

Ensuite, confirmez ou modifiez l'emplacement d'installation :

Lorsque vous êtes prêt, cliquez sur Installer pour commencer le processus d'installation.

Le programme d'installation commencera à télécharger et à installer les composants pour configurer SQL Server sur votre ordinateur :

Lorsque l'installation est terminée, un écran apparaît indiquant les propriétés d'installation actuelles :

Pour vous connecter immédiatement à la nouvelle instance SQL Server, cliquez sur Se connecter maintenant en bas.

Une nouvelle fenêtre va Cmd fenêtre apparaîtra et vous connectera automatiquement à l'instance SQL Server en utilisant le sqlcmd client :

Comme indiqué dans un commentaire en haut de la fenêtre, vous pouvez vous connecter manuellement à SQL Server à tout moment avec le sqlcmd client en tapant :

sqlcmd -S <yourhostname> -E

Pour quitter la session SQL en cours, tapez :

EXIT


Configuration de SQL Server sur macOS

Bien que Microsoft ne fournisse pas de programme d'installation natif pour macOS, ils prennent en charge l'exécution de SQL Server sur macOS via Docker. Le conteneur SQL Server Docker principal est construit à l'aide d'un conteneur Linux, permettant à tout hôte capable d'exécuter des conteneurs Docker d'exécuter le serveur de base de données.

Vous aurez besoin d'au moins 2 Go de mémoire (probablement au moins un peu plus) pour exécuter l'image avec succès, mais Docker lui-même nécessite au moins 4 Go de mémoire.

Pour commencer, assurez-vous que Docker est installé sur votre système. Docker Desktop pour Mac inclut Docker Engine et d'autres applications connexes. Si Docker n'est pas déjà installé, suivez les instructions incluses dans le lien ci-dessus.

Une fois que Docker est opérationnel, vous pouvez extraire l'image SQL Server Docker de Microsoft Container Registry en tapant :

docker pull mcr.microsoft.com/mssql/server:2019-latest

Cela téléchargera toutes les couches d'image requises sur votre système local, permettant un démarrage plus rapide.

Lorsque vous êtes prêt à démarrer le conteneur, tapez la commande suivante.

N'oubliez pas de remplacer <password> avec la valeur de votre mot de passe prévu et choisissez une valeur conforme à la politique de mot de passe de l'image. Au moment d'écrire ces lignes, la politique est définie comme suit :"Le mot de passe doit comporter au moins 8 caractères et contenir des caractères de trois des quatre ensembles suivants :lettres majuscules, lettres minuscules, chiffres en base 10 et symboles." :

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

Le conteneur SQL Server sera démarré en arrière-plan. La chaîne de caractères affichée est l'ID du nouveau conteneur.

Vous pouvez vérifier que le conteneur est opérationnel en tapant :

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

Vous devriez voir le mssql conteneur parmi la liste. Si le conteneur ne s'exécute pas ou si vous rencontrez des problèmes, vous pouvez essayer de consulter ses journaux pour voir s'il contient des messages utiles :

docker logs mssql

Le conteneur SQL Server n'a pas seulement le serveur de base de données installé, il a également certains des outils communs disponibles, y compris le sqlcmd client en ligne de commande. Pour utiliser ce client pour se connecter à l'instance de base de données, vous pouvez utiliser docker exec pour accéder à la commande et s'authentifier auprès de la base de données :

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Vous serez authentifié auprès du serveur SQL à l'intérieur du conteneur et déposé dans un shell SQL. Vous pouvez vérifier que tout est opérationnel en tapant :

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)

Pour quitter la session SQL et revenir à votre shell normal, tapez :

EXIT

Pour arrêter le conteneur SQL Server lorsque vous avez terminé, vous pouvez l'arrêter en tapant :

docker stop mssql

Pour supprimer l'instance de conteneur (y compris toutes les données qu'elle contient !), saisissez :

docker rm mssql

Pour conserver les données dans votre conteneur SQL Server, vous pouvez utiliser l'une des techniques décrites dans la documentation de Microsoft ou consulter la propre documentation de Docker sur l'utilisation de volumes de données avec des conteneurs.



Configuration de SQL Server sur Linux

Les méthodes d'installation diffèrent selon la distribution Linux que vous utilisez. Suivez la section ci-dessous qui correspond à votre distribution Linux. Il existe également des instructions d'utilisation de Docker si vous préférez cette configuration ou si vous souhaitez utiliser une distribution non répertoriée.

  • Ubuntu
  • CentOS et Red Hat
  • Avec Docker

Ubuntu

Le moyen le plus simple d'installer SQL Server sur Ubuntu 20.04 consiste à installer à partir des référentiels dédiés fournis par Microsoft. Votre machine doit disposer d'au moins 2 Go de mémoire pour installer et exécuter avec succès le logiciel nécessaire.

Pour commencer, ajoutez une nouvelle définition de référentiel à votre système en tapant :

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Vous devez également ajouter un référentiel séparé pour accéder au sqlcmd outils binaires et autres :

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"

Ensuite, ajoutez la clé de signature de package Microsoft à apt afin qu'il fasse confiance aux packages dans le nouveau référentiel :

wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Avec le référentiel configuré, vous pouvez installer SQL Server et le sqlcmd client de ligne de commande en tapant :

sudo apt install mssql-server mssql-tools unixodbc-dev

Une fois l'installation terminée, vous devez configurer votre nouvelle instance de base de données. Pour ce faire, exécutez le mssql-conf setup inclus script pour définir certaines des propriétés de base de votre nouveau système :

sudo /opt/mssql/bin/mssql-conf setup

Une série de questions vous sera posée afin de configurer le serveur de base de données.

Tout d'abord, il vous demandera quelle édition de SQL Server vous souhaitez utiliser :

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):

Si vous avez une licence payante, vous pouvez choisir la version appropriée. Si vous utilisez le serveur dans un environnement hors production, vous pouvez choisir l'édition développeur en toute sécurité.

Ensuite, vous devrez accepter à nouveau les termes de la licence :

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]:

Enfin, vous devrez définir et confirmer un mot de passe pour le compte administrateur système SQL Server (appelé compte SA dans de nombreux endroits) :

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

Pour utiliser le sqlcmd client pour se connecter à votre instance SQL Server, il est plus simple d'ajouter le mssql-tools répertoire binaire vers votre PATH . Pour le configurer, tapez :

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Ensuite, re-sourcez l'un des deux fichiers ci-dessus pour évaluer le nouveau PATH pour votre session en cours :

source ~/.bashrc

Vous pouvez maintenant vous connecter à votre instance de base de données en tapant :

sqlcmd -U SA -S 127.0.0.1

Vous serez invité à entrer le mot de passe que vous avez configuré précédemment. Après une authentification réussie, vous serez déposé dans un shell SQL. À partir de là, vous pouvez vérifier que tout fonctionne en imprimant la version du serveur :

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)

Pour quitter le shell SQL et revenir à la ligne de commande, vous pouvez taper :

EXIT


CentOS et Red Hat

Le moyen le plus simple d'installer SQL Server sur CentOS ou Red Hat consiste à utiliser les référentiels fournis par Microsoft. Les hôtes Linux doivent disposer d'au moins 2 Go de mémoire pour installer et exécuter SQL Server.

Avant d'installer SQL Server, vous devez installer et configurer ses dépendances. Nous avons besoin à la fois de Python 2 et d'OpenSSL 10 pour continuer :

sudo yum install python2 compat-openssl10

Une fois Python 2 installé, configurez le système pour l'utiliser comme instance Python par défaut :

sudo alternatives --config python

Dans la liste qui suit, sélectionnez le numéro associé à l'installation de Python 2. Dans l'exemple ci-dessous, ce sera l'option 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

Avec les dépendances en place, vous pouvez maintenant configurer le référentiel SQL Server YUM :

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo

Ensuite, vous devez configurer un référentiel supplémentaire pour accéder au sqlcmd et d'autres outils :

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo

Une fois les référentiels configurés, installez SQL Server en tapant :

sudo yum install mssql-server mssql-tools unixODBC-devel

Une fois l'installation terminée, vous devez configurer votre nouvelle instance de base de données. Pour ce faire, exécutez le mssql-conf setup inclus script pour définir certaines des propriétés de base de votre nouveau système :

sudo /opt/mssql/bin/mssql-conf setup

Une série de questions vous sera posée afin de configurer le serveur de base de données.

Tout d'abord, il vous demandera quelle édition de SQL Server vous souhaitez utiliser :

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):

Si vous avez une licence payante, vous pouvez choisir la version appropriée. Si vous utilisez le serveur dans un environnement hors production, vous pouvez choisir l'édition développeur en toute sécurité.

Ensuite, vous devrez accepter à nouveau les termes de la licence :

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]:

Enfin, vous devrez définir et confirmer un mot de passe pour le compte administrateur système SQL Server (appelé compte SA dans de nombreux endroits) :

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

Pour utiliser le sqlcmd client pour se connecter à votre instance SQL Server, il est plus simple d'ajouter le mssql-tools répertoire binaire vers votre PATH . Pour le configurer, tapez :

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Ensuite, re-sourcez l'un des deux fichiers ci-dessus pour évaluer le nouveau PATH pour votre session en cours :

source ~/.bashrc

Vous pouvez maintenant vous connecter à votre instance de base de données en tapant :

sqlcmd -U SA -S 127.0.0.1

Vous serez invité à entrer le mot de passe que vous avez configuré précédemment. Après une authentification réussie, vous serez déposé dans un shell SQL. À partir de là, vous pouvez vérifier que tout fonctionne en imprimant la version du serveur :

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)

Pour quitter le shell SQL et revenir à la ligne de commande, vous pouvez taper :

EXIT


Avec Docker

Si vous utilisez une distribution Linux pour laquelle Microsoft ne fournit pas de packages ou si vous préférez simplement, une autre option consiste à exécuter SQL Server avec Docker. Vous aurez besoin d'au moins 2 Go de mémoire (probablement au moins un peu plus) pour exécuter l'image avec succès.

Pour commencer, assurez-vous que Docker Engine est installé sur votre système. Vous pouvez trouver des instructions détaillées pour différentes plates-formes dans la documentation de Docker Engine.

Une fois que Docker est opérationnel, vous pouvez extraire l'image SQL Server Docker de Microsoft Container Registry en tapant :

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

Cela téléchargera toutes les couches d'image requises sur votre système local, permettant un démarrage plus rapide.

Lorsque vous êtes prêt à démarrer le conteneur, tapez la commande suivante.

N'oubliez pas de remplacer <password> avec la valeur de votre mot de passe prévu et choisissez une valeur conforme à la politique de mot de passe de l'image. Au moment d'écrire ces lignes, la politique est définie comme suit :"Le mot de passe doit comporter au moins 8 caractères et contenir des caractères de trois des quatre ensembles suivants :lettres majuscules, lettres minuscules, chiffres en base 10 et symboles." :

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

Le conteneur SQL Server sera démarré en arrière-plan. La chaîne de caractères affichée est l'ID du nouveau conteneur.

Vous pouvez vérifier que le conteneur est opérationnel en tapant :

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

Vous devriez voir le mssql conteneur parmi la liste. Si le conteneur ne s'exécute pas ou si vous rencontrez des problèmes, vous pouvez essayer de consulter ses journaux pour voir s'il contient des messages utiles :

sudo docker logs mssql

Le conteneur SQL Server n'a pas seulement le serveur de base de données installé, il a également certains des outils communs disponibles, y compris le sqlcmd client en ligne de commande. Pour utiliser ce client pour se connecter à l'instance de base de données, vous pouvez utiliser docker exec pour accéder à la commande et s'authentifier auprès de la base de données :

sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Vous serez authentifié auprès du serveur SQL à l'intérieur du conteneur et déposé dans un shell SQL. Vous pouvez vérifier que tout est opérationnel en tapant :

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)

Pour quitter la session SQL et revenir à votre shell normal, tapez :

EXIT

Pour arrêter le conteneur SQL Server lorsque vous avez terminé, vous pouvez l'arrêter en tapant :

sudo docker stop mssql

Pour supprimer l'instance de conteneur (y compris toutes les données qu'elle contient !), saisissez :

sudo docker rm mssql

Pour conserver les données dans votre conteneur SQL Server, vous pouvez utiliser l'une des techniques décrites dans la documentation de Microsoft ou consulter la propre documentation de Docker sur l'utilisation de volumes de données avec des conteneurs.