Ik heb eerder uitgelegd hoe je SQL Server op een Mac installeert via een Docker-container. Toen ik dat schreef, was SQL Server 2017 de nieuwste versie van SQL Server, en die was net beschikbaar gemaakt voor Linux en Docker (wat betekent dat je het ook op MacOS-systemen kunt installeren).
Eind 2018 kondigde Microsoft SQL Server 2019 Preview aan en vervolgens de algemene release eind 2019. Het installatieproces voor SQL Server 2019 is precies hetzelfde als voor SQL Server 2017. Het enige verschil is dat u de container-image moet gebruiken voor SQL Server 2019 in plaats van de afbeelding van 2017. Hier laat ik je zien hoe je dat doet.
Als u SQL Server 2017 al hebt geïnstalleerd en u wilt SQL Server 2019 installeren zonder de 2017-versie te verwijderen, moet u een ander poortnummer aan uw host toewijzen. Ik laat je ook zien hoe je dat kunt doen.
Maar eerst… als u een Mac met de M1-chip gebruikt, raadpleegt u SQL Server installeren op een M1-Mac (ARM64).
Dokker
De eerste stap is om Docker te installeren. Als je Docker al hebt geïnstalleerd, kun je deze stap overslaan (en direct naar SQL Server gaan).
Docker is een platform waarmee software in zijn eigen geïsoleerde omgeving kan draaien. Daarom kan SQL Server 2019 worden uitgevoerd op Docker in zijn eigen geïsoleerde container.
-
Installeer Docker
Ga om te downloaden naar de Docker CE voor Mac-downloadpagina en klik op Docker ophalen .
Dubbelklik om te installeren op de .dmg bestand en sleep vervolgens de Docker.app pictogram naar uw Applicatie map.
-
Lanceer Docker
Start Docker op dezelfde manier als elke andere applicatie (bijvoorbeeld via de map Programma's, het Launchpad, enz.).
Wanneer u Docker opent, wordt u mogelijk om uw wachtwoord gevraagd, zodat Docker de netwerkcomponenten en koppelingen naar de Docker-apps kan installeren. Ga je gang en geef je wachtwoord op, want Docker heeft dit nodig om te kunnen werken.
-
Vergroot het geheugen (optioneel)
Docker krijgt standaard 2 GB geheugen toegewezen. Ik stel voor om het te verhogen naar 4 GB als je kunt.
Selecteer hiervoor Voorkeuren van het kleine Docker-pictogram in het hoofdmenu:
Dan op de Bronnen> Geavanceerd scherm, schuift u de geheugenschuifregelaar tot minimaal 4 GB:
Sluit vervolgens af door te klikken op Toepassen en opnieuw opstarten
SQL-server
Nu Docker is geïnstalleerd en geconfigureerd, kunnen we SQL Server 2019 downloaden en installeren.
-
SQL Server 2019 downloaden
Open een Terminal-venster en voer de volgende opdracht uit.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Hiermee wordt de nieuwste SQL Server voor Linux Docker-image naar uw computer gedownload.
U kunt desgewenst ook de verschillende opties voor containerafbeeldingen op de Docker-website bekijken.
-
Lanceer de Docker-afbeelding
Voer de volgende opdracht uit om een exemplaar van de Docker-image te starten die u zojuist hebt gedownload:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
Verander gewoon
Bart
naar een naam naar keuze, enreallyStrongPwd#123
naar een wachtwoord naar keuze.Zie hieronder als u de foutmelding "poort al toegewezen" krijgt.
Hier is een uitleg van de parameters:
-e 'ACCEPT_EULA=Y'
- De
Y
laat zien dat u akkoord gaat met de EULA (End User License Agreement). Dit is verplicht. -e 'SA_PASSWORD=reallyStrongPwd#123'
- Vereiste parameter die de
sa
. instelt databasewachtwoord. -p 1433:1433
- Hiermee wordt de lokale poort 1433 toegewezen aan poort 1433 op de container. De eerste waarde is de TCP-poort op de hostomgeving. De tweede waarde is de TCP-poort in de container.
--name Bart
- Nog een optionele parameter. Met deze parameter kunt u de container een naam geven. Dit kan handig zijn bij het stoppen en starten van uw container vanaf de Terminal. Misschien geeft u er de voorkeur aan om het een meer beschrijvende naam te geven, zoals
sql_server_2019
of vergelijkbaar. -d
- Deze optionele parameter start de Docker-container in de daemon-modus. Dit betekent dat het op de achtergrond draait en geen eigen Terminal-venster hoeft te openen. U kunt deze parameter weglaten om de container in zijn eigen Terminal-venster te laten draaien.
mcr.microsoft.com/mssql/server:2019-latest
- Dit vertelt Docker welke afbeelding moet worden gebruikt.
Wachtwoordsterkte
U moet een sterk wachtwoord gebruiken. Microsoft zegt dit over het wachtwoord:
Het wachtwoord moet het standaard wachtwoordbeleid van SQL Server volgen, anders kan de container de SQL-server niet instellen en stopt met werken. Het wachtwoord moet standaard minimaal 8 tekens lang zijn en tekens uit drie van de volgende vier sets bevatten:hoofdletters, kleine letters, tien basiscijfers en symbolen.
Fout – “Poort al toegewezen”?
Als je een foutmelding krijgt die iets zegt over "poort is al toegewezen", dan heb je misschien al SQL Server geïnstalleerd op een andere container die die poort gebruikt. In dit geval moet u naar een andere poort op de host verwijzen.
Daarom zou je het bovenstaande commando in iets als dit kunnen veranderen:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
In dit geval heb ik gewoon
-p 1433:1433
. gewijzigd naar-p 1400:1433
. Al het andere blijft hetzelfde.Mogelijk krijgt u nu een foutmelding dat u eerst de bestaande container moet verwijderen. Voer hiervoor het volgende uit (maar verwissel
Bart
met de naam van je eigen container):sudo docker rm Bart
Eenmaal verwijderd, kunt u proberen de vorige opdracht opnieuw uit te voeren.
Houd er rekening mee dat als u de poort wijzigt zoals ik hier heb gedaan, u waarschijnlijk het poortnummer moet opnemen wanneer u verbinding maakt met SQL Server vanuit alle databasetools vanaf uw bureaublad. Als u bijvoorbeeld verbinding maakt via de Azure Data Studio (hieronder vermeld), kunt u verbinding maken met
Localhost,1400
in plaats van alleenLocalhost
. Hetzelfde geldt voor mssql-cli, een SQL-tool op de opdrachtregel.
Controleer alles
Nu we dat hebben gedaan, zouden we goed moeten zijn om te gaan. Laten we een paar controles doornemen en uitvoeren.
-
Controleer de Docker-container (optioneel)
U kunt de volgende opdracht typen om te controleren of de Docker-container actief is.
sudo docker ps -a
In mijn geval krijg ik dit:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1b060f68fcb mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/sqls…" About a minute ago Up About a minute 0.0.0.0:1400->1433/tcp Bart fdec67e6a28d microsoft/mssql-server-linux "/opt/mssql/bin/sqls…" 4 months ago Up 8 days 0.0.0.0:1433->1433/tcp Homer
Dit vertelt me dat ik twee docker-containers in gebruik heb:een genaamd Bart en de andere genaamd Homer .
-
Verbinden met SQL Server
Hier gebruiken we de SQL Server-opdrachtregeltool genaamd "sqlcmd" in de container om verbinding te maken met SQL Server.
sudo docker exec -it Bart "bash"
Voer uw wachtwoord in als daarom wordt gevraagd.
Nu u zich in de container bevindt, maakt u lokaal verbinding met sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
Dit zou je naar de sqlcmd-prompt 1> moeten brengen .
-
Voer een snelle test uit
Voer een snelle test uit om te controleren of SQL Server actief is. Controleer bijvoorbeeld de SQL Server-versie door dit in te voeren:
SELECT @@version
Dit brengt je naar een opdrachtprompt 2> op de volgende regel. Voer het volgende in om de query uit te voeren:
GO
Resultaat:
+--------------------+ | (No column name) | |--------------------| | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) Mar 4 2020 00:59:26 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) | +--------------------+ (1 row affected)
Als je een bericht als dit ziet, gefeliciteerd - SQL Server is nu actief op je Mac!
Als je liever een GUI gebruikt om SQL Server te beheren, lees dan verder.
Azure Data Studio
Azure Data Studio is een gratis GUI-beheertool die u kunt gebruiken om SQL Server op uw Mac te beheren. U kunt het gebruiken om databases te maken en te beheren, query's te schrijven, databases te back-uppen en te herstellen, en meer.
Azure Data Studio is beschikbaar op Windows, Mac en Linux.
Hier zijn enkele artikelen/zelfstudies die ik heb geschreven voor Azure Data Studio:
- Wat is Azure Data Studio
- Hoe installeer je Azure Data Studio op je Mac
- Een database maken met Azure Data Studio
- Een database herstellen met Azure Data Studio op een Mac
Nog een gratis SQL Server GUI – DBeaver
Een andere SQL Server GUI-tool die u op uw Mac (en Windows/Linux/Solaris) kunt gebruiken, is DBeaver.
DBeaver is een gratis, open source databasebeheertool die kan worden gebruikt op de meeste databasebeheersystemen (zoals MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby en meer ).
Ik heb een korte introductie tot DBeaver geschreven, of je kunt direct naar de DBeaver-downloadpagina gaan en het uitproberen met je nieuwe SQL Server-installatie.