Ich habe zuvor erklärt, wie man SQL Server auf einem Mac über einen Docker-Container installiert. Als ich das schrieb, war SQL Server 2017 die neueste Version von SQL Server, und sie war gerade für Linux und Docker verfügbar gemacht worden (was bedeutet, dass Sie sie auch auf MacOS-Systemen installieren können).
Ende 2018 kündigte Microsoft SQL Server 2019 Preview an und kündigte anschließend die allgemeine Veröffentlichung Ende 2019 an. Der Installationsprozess für SQL Server 2019 ist genau derselbe wie für SQL Server 2017. Der einzige Unterschied besteht darin, dass Sie das Container-Image für verwenden müssen SQL Server 2019 anstelle des 2017-Images. Hier zeige ich dir, wie das geht.
Wenn Sie bereits SQL Server 2017 installiert haben und SQL Server 2019 installieren möchten, ohne die Version 2017 zu entfernen, müssen Sie Ihrem Host eine andere Portnummer zuweisen. Ich zeige dir auch, wie das geht.
Aber zuerst… Wenn Sie einen Mac mit dem M1-Chip verwenden, finden Sie weitere Informationen unter So installieren Sie SQL Server auf einem M1-Mac (ARM64).
Docker
Der erste Schritt ist die Installation von Docker. Wenn Sie Docker bereits installiert haben, können Sie diesen Schritt überspringen (und direkt zu SQL Server springen).
Docker ist eine Plattform, die es ermöglicht, Software in ihrer eigenen isolierten Umgebung auszuführen. Daher kann SQL Server 2019 auf Docker in einem eigenen isolierten Container ausgeführt werden.
-
Docker installieren
Besuchen Sie zum Herunterladen die Download-Seite von Docker CE für Mac und klicken Sie auf Get Docker .
Doppelklicken Sie zur Installation auf die .dmg Datei und ziehen Sie dann die Docker.app Symbol zu Ihrer Anwendung Ordner.
-
Starten Sie Docker
Starten Sie Docker genauso wie jede andere Anwendung (z. B. über den Anwendungsordner, das Launchpad usw.).
Wenn Sie Docker öffnen, werden Sie möglicherweise zur Eingabe Ihres Kennworts aufgefordert, damit Docker seine Netzwerkkomponenten und Links zu den Docker-Apps installieren kann. Fahren Sie fort und geben Sie Ihr Passwort ein, da Docker dieses zum Ausführen benötigt.
-
Erhöhen Sie den Speicher (optional)
Standardmäßig werden Docker 2 GB Speicher zugewiesen. Ich würde vorschlagen, es auf 4 GB zu erhöhen, wenn Sie können.
Wählen Sie dazu Einstellungen über das kleine Docker-Symbol im oberen Menü:
Dann auf die Ressourcen> Erweitert Bildschirm, schieben Sie den Speicherschieber auf mindestens 4 GB:
Klicken Sie dann zum Abschluss auf Übernehmen &neu starten
SQL-Server
Nachdem Docker nun installiert und konfiguriert wurde, können wir SQL Server 2019 herunterladen und installieren.
-
SQL Server 2019 herunterladen
Öffnen Sie ein Terminalfenster und führen Sie den folgenden Befehl aus.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Dadurch wird das neueste Docker-Image von SQL Server für Linux auf Ihren Computer heruntergeladen.
Wenn Sie möchten, können Sie auch auf der Docker-Website nach den verschiedenen Container-Image-Optionen suchen.
-
Starten Sie das Docker-Image
Führen Sie den folgenden Befehl aus, um eine Instanz des Docker-Images zu starten, das Sie gerade heruntergeladen haben:
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
Ändern Sie einfach
Bart
zu einem Namen Ihrer Wahl undreallyStrongPwd#123
zu einem Passwort Ihrer Wahl.Wenn Sie die Fehlermeldung „Port bereits zugewiesen“ erhalten, lesen Sie weiter unten.
Hier ist eine Erklärung der Parameter:
-e 'ACCEPT_EULA=Y'
- Das
Y
zeigt, dass Sie mit der EULA (End User License Agreement) einverstanden sind. Dies ist erforderlich. -e 'SA_PASSWORD=reallyStrongPwd#123'
- Erforderlicher Parameter, der den
sa
setzt Datenbankpasswort. -p 1433:1433
- Dadurch wird der lokale Port 1433 dem Port 1433 auf dem Container zugeordnet. Der erste Wert ist der TCP-Port in der Hostumgebung. Der zweite Wert ist der TCP-Port im Container.
--name Bart
- Ein weiterer optionaler Parameter. Mit diesem Parameter können Sie den Container benennen. Dies kann praktisch sein, wenn Sie Ihren Container vom Terminal aus stoppen und starten. Möglicherweise bevorzugen Sie einen aussagekräftigeren Namen wie
sql_server_2019
oder ähnliches. -d
- Dieser optionale Parameter startet den Docker-Container im Daemon-Modus. Dies bedeutet, dass es im Hintergrund ausgeführt wird und kein eigenes Terminalfenster geöffnet werden muss. Sie können diesen Parameter weglassen, damit der Container in einem eigenen Terminalfenster ausgeführt wird.
mcr.microsoft.com/mssql/server:2019-latest
- Dies teilt Docker mit, welches Image verwendet werden soll.
Passwortstärke
Sie müssen ein sicheres Passwort verwenden. Microsoft sagt dies über das Passwort:
Das Passwort sollte der Standardpasswortrichtlinie von SQL Server folgen, da der Container sonst den SQL Server nicht einrichten kann und nicht mehr funktioniert. Standardmäßig muss das Passwort mindestens 8 Zeichen lang sein und Zeichen aus drei der folgenden vier Gruppen enthalten:Großbuchstaben, Kleinbuchstaben, Basis-10-Ziffern und Symbole.
Fehler – „Port bereits zugewiesen“?
Wenn Sie eine Fehlermeldung mit der Aufschrift „Port ist bereits zugewiesen“ erhalten, haben Sie möglicherweise bereits SQL Server auf einem anderen Container installiert, der diesen Port verwendet. In diesem Fall müssen Sie einen anderen Port auf dem Host zuordnen.
Daher könnten Sie den obigen Befehl in etwa so ändern:
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 diesem Fall habe ich einfach
-p 1433:1433
geändert zu-p 1400:1433
. Alles andere bleibt gleich.Möglicherweise erhalten Sie jetzt eine Fehlermeldung, dass Sie zuerst den vorhandenen Container entfernen müssen. Führen Sie dazu Folgendes aus (aber tauschen Sie
Bart
mit dem Namen Ihres eigenen Containers):sudo docker rm Bart
Nach dem Entfernen können Sie versuchen, den vorherigen Befehl erneut auszuführen.
Beachten Sie, dass Sie, wenn Sie den Port ändern, wie ich es hier getan habe, wahrscheinlich die Portnummer angeben müssen, wenn Sie sich von einem beliebigen Datenbank-Tool von Ihrem Desktop aus mit SQL Server verbinden. Wenn Sie beispielsweise eine Verbindung über Azure Data Studio (unten erwähnt) herstellen, können Sie eine Verbindung herstellen, indem Sie
Localhost,1400
verwenden statt nurLocalhost
. Dasselbe gilt für mssql-cli, ein Befehlszeilen-SQL-Tool.
Alles prüfen
Jetzt, wo wir das getan haben, sollten wir bereit sein. Lassen Sie uns durchgehen und ein paar Überprüfungen durchführen.
-
Überprüfen Sie den Docker-Container (optional)
Sie können den folgenden Befehl eingeben, um zu überprüfen, ob der Docker-Container ausgeführt wird.
sudo docker ps -a
In meinem Fall bekomme ich das:
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
Das sagt mir, dass ich zwei Docker-Container aktiv habe:einen namens Bart und der andere namens Homer .
-
Mit SQL Server verbinden
Hier verwenden wir das SQL Server-Befehlszeilentool namens „sqlcmd“ innerhalb des Containers, um eine Verbindung zu SQL Server herzustellen.
sudo docker exec -it Bart "bash"
Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
Jetzt, da Sie sich im Container befinden, verbinden Sie sich lokal mit sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
Dies sollte Sie zur sqlcmd-Eingabeaufforderung 1> bringen .
-
Schnelltest durchführen
Führen Sie einen Schnelltest durch, um zu überprüfen, ob SQL Server betriebsbereit ist. Überprüfen Sie beispielsweise die SQL Server-Version, indem Sie Folgendes eingeben:
SELECT @@version
Dadurch gelangen Sie zu einer Eingabeaufforderung 2> auf der nächsten Zeile. Um die Abfrage auszuführen, geben Sie ein:
GO
Ergebnis:
+--------------------+ | (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)
Wenn Sie eine solche Meldung sehen, herzlichen Glückwunsch – SQL Server ist jetzt auf Ihrem Mac betriebsbereit!
Wenn Sie es vorziehen, eine GUI zur Verwaltung von SQL Server zu verwenden, lesen Sie weiter.
Azure Data Studio
Azure Data Studio ist ein kostenloses GUI-Verwaltungstool, mit dem Sie SQL Server auf Ihrem Mac verwalten können. Sie können damit Datenbanken erstellen und verwalten, Abfragen schreiben, Datenbanken sichern und wiederherstellen und vieles mehr.
Azure Data Studio ist für Windows, Mac und Linux verfügbar.
Hier sind einige Artikel/Tutorials, die ich für Azure Data Studio geschrieben habe:
- Was ist Azure Data Studio
- So installieren Sie Azure Data Studio auf Ihrem Mac
- So erstellen Sie eine Datenbank mit Azure Data Studio
- So stellen Sie eine Datenbank mit Azure Data Studio auf einem Mac wieder her
Eine weitere kostenlose SQL Server-GUI – DBeaver
Ein weiteres SQL Server-GUI-Tool, das Sie auf Ihrem Mac (und Windows/Linux/Solaris) verwenden können, ist DBeaver.
DBeaver ist ein kostenloses Open-Source-Datenbankverwaltungstool, das auf den meisten Datenbankverwaltungssystemen (wie MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby und mehr) verwendet werden kann ).
Ich habe eine kleine Einführung in DBeaver geschrieben, oder Sie können direkt zur DBeaver-Downloadseite gehen und es mit Ihrer neuen SQL Server-Installation ausprobieren.