sql >> Database >  >> RDS >> Sqlserver

Een lokale SQL Server-database instellen


Overzicht

In deze handleiding zullen we het hebben over het installeren en configureren van een SQL Server-instantie en de sqlcmd opdrachtregelclient. We zullen bespreken hoe u deze componenten op uw computer installeert en instelt voor lokale toegang.

Deze gids behandelt de volgende platforms:

  • SQL Server instellen op Windows
  • SQL Server instellen op macOS (met Docker)
  • SQL Server instellen op Linux
    • Ubuntu
    • CentOS en Red Hat
    • Met Docker

Navigeer naar de secties die overeenkomen met de platforms waarmee u gaat werken.



SQL Server instellen op Windows

Microsoft biedt native Windows-installatieprogramma's voor SQL Server op hun site en biedt verschillende versies van SQL Server die geschikt zijn voor verschillende doeleinden. Voor de doeleinden van deze handleiding zullen we de gratis Developer-editie downloaden en installeren. U kunt eenvoudig upgraden naar een betaalde versie van de Developer-editie als u deze voor productie wilt gebruiken.

Ga om te beginnen naar de pagina van Microsoft voor SQL Server. Zoek het gedeelte met betrekking tot de Developer-editie en klik op Nu downloaden :

Zodra het downloaden is voltooid, dubbelklikt u op het bestand om het installatieprogramma uit te voeren (mogelijk moet u bevestigen dat u wilt dat het programma wijzigingen op uw computer aanbrengt).

Op het beginscherm van het installatieprogramma wordt u gevraagd welk type installatie u wilt uitvoeren:

Kies Basis om door te gaan met een conventionele installatie met de meest gebruikelijke opties.

Vervolgens wordt u gevraagd akkoord te gaan met de licentievoorwaarden van de Developer Edition:

Wanneer u de licentie hebt gelezen en akkoord gaat met de voorwaarden, klikt u op Accepteren om door te gaan.

Bevestig of wijzig vervolgens de installatielocatie:

Als u klaar bent, klikt u op Installeren om het installatieproces te starten.

Het installatieprogramma begint met het downloaden en installeren van componenten om SQL Server op uw computer in te stellen:

Wanneer de installatie is voltooid, verschijnt een scherm met de huidige installatie-eigenschappen:

Om direct verbinding te maken met de nieuwe SQL Server-instantie, klikt u op Nu verbinden onderaan.

Een nieuw venster zal Cmd venster verschijnt en logt u automatisch in op de SQL Server-instantie met behulp van de sqlcmd klant:

Zoals te zien is in een opmerking bovenaan het venster, kunt u op elk moment handmatig verbinding maken met SQL Server met de sqlcmd klant door te typen:

sqlcmd -S <yourhostname> -E

Om de huidige SQL-sessie af te sluiten, typt u:

EXIT


SQL Server instellen op macOS

Hoewel Microsoft geen native installatieprogramma voor macOS biedt, ondersteunen ze het uitvoeren van SQL Server op macOS via Docker. De belangrijkste SQL Server Docker-container is gebouwd met behulp van een Linux-container, waardoor elke host die Docker-containers kan uitvoeren de databaseserver kan uitvoeren.

Je hebt minimaal 2 GB geheugen nodig (waarschijnlijk iets meer) om de image succesvol uit te voeren, maar Docker zelf heeft minimaal 4 GB geheugen nodig.

Zorg er om te beginnen voor dat u de Docker op uw systeem hebt. Docker Desktop voor Mac bevat Docker Engine en andere gerelateerde applicaties. Als je Docker nog niet hebt geïnstalleerd, volg dan de instructies in de bovenstaande link.

Zodra Docker in gebruik is, kunt u de SQL Server Docker-image uit Microsoft Container Registry halen door te typen:

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

Hiermee worden alle vereiste afbeeldingslagen naar uw lokale systeem gedownload, waardoor het opstarten sneller gaat.

Typ de volgende opdracht wanneer u klaar bent om de container te starten.

Vergeet niet om <password> te vervangen met de waarde van uw beoogde wachtwoord en kies een waarde die overeenkomt met het wachtwoordbeleid van de afbeelding. Op het moment van schrijven is het beleid als volgt gedefinieerd:"Het wachtwoord moet minimaal 8 tekens lang zijn en tekens bevatten uit drie van de volgende vier sets:hoofdletters, kleine letters, tien basiscijfers en symbolen.":

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

De SQL Server-container wordt op de achtergrond opgestart. De weergegeven tekenreeks is de ID van de nieuwe container.

U kunt controleren of de container actief is door te typen:

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

U zou de mssql . moeten zien container op de lijst. Als de container niet actief is of als u problemen ondervindt, kunt u proberen de logbestanden te bekijken om te zien of er nuttige berichten zijn:

docker logs mssql

De SQL Server-container heeft niet alleen de databaseserver geïnstalleerd, maar heeft ook enkele van de algemene tools beschikbaar, waaronder de sqlcmd opdrachtregelclient. Om deze client te gebruiken om verbinding te maken met de database-instantie, kunt u docker exec . gebruiken om toegang te krijgen tot de opdracht en te authenticeren tegen de database:

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

U wordt geauthenticeerd voor de SQL Server in de container en wordt in een SQL-shell geplaatst. U kunt controleren of alles werkt door te typen:

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)

Om de SQL-sessie te verlaten en terug te gaan naar uw normale shell, typt u:

EXIT

Als u de SQL Server-container wilt afsluiten wanneer u klaar bent, kunt u deze stoppen door te typen:

docker stop mssql

Om de containerinstantie (inclusief alle gegevens erin!) te verwijderen, typt u:

docker rm mssql

Om de gegevens in uw SQL Server-container te bewaren, kunt u een van de technieken gebruiken die worden beschreven in de Microsoft-documentatie of een kijkje nemen in de eigen documentatie van Docker over het gebruik van gegevensvolumes met containers.



SQL Server instellen op Linux

Installatiemethoden verschillen afhankelijk van de Linux-distributie die u gebruikt. Volg het onderstaande gedeelte dat overeenkomt met uw Linux-distributie. Er zijn ook instructies voor het gebruik van Docker als u de voorkeur geeft aan die configuratie of als u een distributie wilt gebruiken die niet in de lijst staat.

  • Ubuntu
  • CentOS en Red Hat
  • Met Docker

Ubuntu

De eenvoudigste manier om SQL Server op Ubuntu 20.04 te installeren, is door te installeren vanuit de speciale opslagplaatsen van Microsoft. Uw machine moet minimaal 2 GB geheugen hebben om de benodigde software te installeren en uit te voeren.

Voeg om te beginnen een nieuwe repositorydefinitie toe aan uw systeem door te typen:

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

U moet ook een aparte repository toevoegen om toegang te krijgen tot de sqlcmd binaire en andere tools:

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

Voeg vervolgens de Microsoft-pakketondertekeningssleutel toe aan apt zodat het de pakketten in de nieuwe repository vertrouwt:

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

Met de repository ingesteld, kunt u SQL Server en de sqlcmd . installeren opdrachtregelclient door te typen:

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

Nadat de installatie is voltooid, moet u uw nieuwe database-instantie configureren. Voer hiervoor de meegeleverde mssql-conf setup . uit script om enkele basiseigenschappen van uw nieuwe systeem in te stellen:

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

U wordt een aantal vragen gesteld om de databaseserver te configureren.

Eerst wordt u gevraagd welke editie van de SQL-server u wilt gebruiken:

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

Als u een betaalde licentie heeft, kunt u de juiste versie kiezen. Als u de server in een niet-productieomgeving gebruikt, is het veilig om de ontwikkelaarseditie te kiezen.

Vervolgens moet u de licentievoorwaarden opnieuw accepteren:

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

Ten slotte moet u een wachtwoord instellen en bevestigen voor het SQL Server-systeembeheerdersaccount (op veel plaatsen het SA-account genoemd):

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

Om de sqlcmd te gebruiken client om verbinding te maken met uw SQL Server-instantie, is het het gemakkelijkst om de mssql-tools toe te voegen binaire map naar uw PATH . Om dit te configureren, typt u:

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

Herbron daarna een van de twee bestanden hierboven om het nieuwe PATH te evalueren voor uw huidige sessie:

source ~/.bashrc

U kunt nu verbinding maken met uw database-instantie door te typen:

sqlcmd -U SA -S 127.0.0.1

U wordt gevraagd om het wachtwoord dat u eerder hebt ingesteld. Na een succesvolle authenticatie wordt u in een SQL-shell gedropt. Vanaf hier kunt u controleren of alles werkt door de serverversie af te drukken:

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)

Om de SQL-shell te verlaten en terug te gaan naar de opdrachtregel, typt u:

EXIT


CentOS en Red Hat

De eenvoudigste manier om SQL Server op CentOS of Red Hat te installeren, is door de opslagplaatsen van Microsoft te gebruiken. Linux-hosts moeten minimaal 2 GB geheugen hebben om SQL Server te installeren en uit te voeren.

Voordat u SQL Server installeert, moet u de afhankelijkheden ervan installeren en configureren. We hebben zowel Python 2 als OpenSSL 10 nodig om door te gaan:

sudo yum install python2 compat-openssl10

Nadat Python 2 is geïnstalleerd, configureert u het systeem om het te gebruiken als de standaard Python-instantie:

sudo alternatives --config python

Selecteer in de volgende lijst het nummer dat is gekoppeld aan de Python 2-installatie. In het onderstaande voorbeeld is dit optie 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

Nu de afhankelijkheden aanwezig zijn, kunt u nu de SQL Server YUM-repository configureren:

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

Daarna moet u een extra repository configureren om toegang te krijgen tot de sqlcmd en andere tools:

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

Nadat de repositories zijn geconfigureerd, installeert u SQL Server door te typen:

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

Nadat de installatie is voltooid, moet u uw nieuwe database-instantie configureren. Voer hiervoor de meegeleverde mssql-conf setup . uit script om enkele basiseigenschappen van uw nieuwe systeem in te stellen:

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

U wordt een aantal vragen gesteld om de databaseserver te configureren.

Eerst wordt u gevraagd welke editie van de SQL-server u wilt gebruiken:

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

Als u een betaalde licentie heeft, kunt u de juiste versie kiezen. Als u de server in een niet-productieomgeving gebruikt, is het veilig om de ontwikkelaarseditie te kiezen.

Vervolgens moet u de licentievoorwaarden opnieuw accepteren:

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

Ten slotte moet u een wachtwoord instellen en bevestigen voor het SQL Server-systeembeheerdersaccount (op veel plaatsen het SA-account genoemd):

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

Om de sqlcmd te gebruiken client om verbinding te maken met uw SQL Server-instantie, is het het gemakkelijkst om de mssql-tools toe te voegen binaire map naar uw PATH . Om dit te configureren, typt u:

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

Herbron daarna een van de twee bestanden hierboven om het nieuwe PATH te evalueren voor uw huidige sessie:

source ~/.bashrc

U kunt nu verbinding maken met uw database-instantie door te typen:

sqlcmd -U SA -S 127.0.0.1

U wordt gevraagd om het wachtwoord dat u eerder hebt ingesteld. Na een succesvolle authenticatie wordt u in een SQL-shell gedropt. Vanaf hier kunt u controleren of alles werkt door de serverversie af te drukken:

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)

Om de SQL-shell te verlaten en terug te gaan naar de opdrachtregel, typt u:

EXIT


Met Docker

Als je een Linux-distributie gebruikt waarvoor Microsoft geen pakketten levert, of als je daar gewoon de voorkeur aan geeft, is een andere optie om SQL Server met Docker uit te voeren. Je hebt minimaal 2 GB geheugen nodig (waarschijnlijk in ieder geval iets meer) om de image succesvol uit te voeren.

Zorg er om te beginnen voor dat u de Docker Engine op uw systeem hebt. Gedetailleerde instructies voor verschillende platforms vindt u in de Docker Engine-documentatie.

Zodra Docker in gebruik is, kunt u de SQL Server Docker-image uit Microsoft Container Registry halen door te typen:

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

Hiermee worden alle vereiste afbeeldingslagen naar uw lokale systeem gedownload, waardoor het opstarten sneller gaat.

Typ de volgende opdracht wanneer u klaar bent om de container te starten.

Vergeet niet om <password> te vervangen met de waarde van uw beoogde wachtwoord en kies een waarde die overeenkomt met het wachtwoordbeleid van de afbeelding. Op het moment van schrijven is het beleid als volgt gedefinieerd:"Het wachtwoord moet minimaal 8 tekens lang zijn en tekens bevatten uit drie van de volgende vier sets:hoofdletters, kleine letters, tien basiscijfers en symbolen.":

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

De SQL Server-container wordt op de achtergrond opgestart. De weergegeven tekenreeks is de ID van de nieuwe container.

U kunt controleren of de container actief is door te typen:

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

U zou de mssql . moeten zien container op de lijst. Als de container niet actief is of als u problemen ondervindt, kunt u proberen de logbestanden te bekijken om te zien of er nuttige berichten zijn:

sudo docker logs mssql

De SQL Server-container heeft niet alleen de databaseserver geïnstalleerd, maar heeft ook enkele van de algemene tools beschikbaar, waaronder de sqlcmd opdrachtregelclient. Om deze client te gebruiken om verbinding te maken met de database-instantie, kunt u docker exec . gebruiken om toegang te krijgen tot de opdracht en te authenticeren tegen de database:

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

U wordt geauthenticeerd voor de SQL Server in de container en wordt in een SQL-shell geplaatst. U kunt controleren of alles werkt door te typen:

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)

Om de SQL-sessie te verlaten en terug te gaan naar uw normale shell, typt u:

EXIT

Als u de SQL Server-container wilt afsluiten wanneer u klaar bent, kunt u deze stoppen door te typen:

sudo docker stop mssql

Om de containerinstantie (inclusief alle gegevens erin!) te verwijderen, typt u:

sudo docker rm mssql

Om de gegevens in uw SQL Server-container te bewaren, kunt u een van de technieken gebruiken die worden beschreven in de Microsoft-documentatie of een kijkje nemen in de eigen documentatie van Docker over het gebruik van gegevensvolumes met containers.





  1. Barman automatiseren met Puppet:it2ndq/barman (deel één)

  2. Maak geneste JSON-arrays met FOR JSON PATH

  3. PostgreSQL-schema maken

  4. SQL Server AlwaysOn-beschikbaarheidsgroepen:installatie en configuratie, deel 1