Dříve jsem vysvětlil, jak nainstalovat SQL Server na Mac pomocí kontejneru Docker. Když jsem to napsal, SQL Server 2017 byl nejnovější verzí SQL Serveru a byl právě zpřístupněn pro Linux a Docker (což znamená, že jej můžete nainstalovat i na systémy MacOS).
Koncem roku 2018 společnost Microsoft oznámila SQL Server 2019 Preview a následně oznámila obecné vydání na konci roku 2019. Proces instalace pro SQL Server 2019 je úplně stejný jako pro SQL Server 2017. Jediný rozdíl je v tom, že musíte použít bitovou kopii kontejneru pro SQL Server 2019 namísto bitové kopie 2017. Zde vám ukážu, jak to udělat.
Pokud již máte nainstalovaný SQL Server 2017 a chcete nainstalovat SQL Server 2019 bez odebrání verze 2017, budete muset svému hostiteli přidělit jiné číslo portu. Také vám ukážu, jak to udělat.
Ale nejdřív… pokud používáte Mac s čipem M1, přečtěte si článek Jak nainstalovat SQL Server na M1 Mac (ARM64).
Docker
Prvním krokem je instalace Dockeru. Pokud již máte nainstalovaný Docker, můžete tento krok přeskočit (a přejít přímo na SQL Server).
Docker je platforma, která umožňuje softwaru běžet ve vlastním izolovaném prostředí. Proto lze SQL Server 2019 spustit na Dockeru ve vlastním izolovaném kontejneru.
-
Nainstalovat Docker
Chcete-li stáhnout, navštivte stránku pro stažení Docker CE pro Mac a klikněte na Získat Docker .
Pro instalaci poklepejte na .dmg a poté přetáhněte Docker.app ikonu do vaší aplikace složka.
-
Spusťte Docker
Spusťte Docker stejným způsobem, jako byste spouštěli jakoukoli jinou aplikaci (např. prostřednictvím složky Aplikace, Launchpadu atd.).
Když otevřete Docker, můžete být vyzváni k zadání hesla, aby Docker mohl nainstalovat své síťové součásti a odkazy na aplikace Docker. Pokračujte a zadejte své heslo, protože Docker jej potřebuje ke spuštění.
-
Zvětšení paměti (volitelné)
Ve výchozím nastavení bude mít Docker přiděleno 2 GB paměti. Pokud můžete, doporučuji zvýšit na 4 GB.
Chcete-li to provést, vyberte Předvolby z malé ikony Docker v horní nabídce:
Poté na Zdroje> Pokročilé na obrazovce, posuňte posuvník paměti nahoru alespoň na 4 GB:
Poté dokončete kliknutím na Použít a restartovat
SQL Server
Nyní, když je Docker nainstalován a nakonfigurován, můžeme stáhnout a nainstalovat SQL Server 2019.
-
Stáhněte si SQL Server 2019
Otevřete okno Terminálu a spusťte následující příkaz.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Tím se stáhne nejnovější obraz SQL Server pro Linux Docker do vašeho počítače.
Pokud chcete, můžete také zkontrolovat různé možnosti obrázku kontejneru na webu Docker.
-
Spusťte obrázek Docker
Spuštěním následujícího příkazu spusťte instanci obrazu Docker, který jste právě stáhli:
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
Stačí změnit
Bart
na jméno dle vašeho výběru areallyStrongPwd#123
na heslo dle vašeho výběru.Pokud se zobrazí chyba „port již přidělen“, viz níže.
Zde je vysvětlení parametrů:
-e 'ACCEPT_EULA=Y'
Y
ukazuje, že souhlasíte s EULA (Licenční smlouva s koncovým uživatelem). Toto je povinné.-e 'SA_PASSWORD=reallyStrongPwd#123'
- Povinný parametr, který nastavuje
sa
heslo databáze. -p 1433:1433
- To mapuje místní port 1433 na port 1433 v kontejneru. První hodnota je TCP port v hostitelském prostředí. Druhá hodnota je TCP port v kontejneru.
--name Bart
- Další volitelný parametr. Tento parametr umožňuje pojmenovat kontejner. To může být užitečné při zastavování a spouštění kontejneru z terminálu. Možná byste mu raději dali popisnější název, například
sql_server_2019
nebo podobně. -d
- Tento volitelný parametr spustí kontejner Docker v režimu démona. To znamená, že běží na pozadí a nepotřebuje otevřené vlastní okno Terminálu. Tento parametr můžete vynechat, aby se kontejner spouštěl ve vlastním okně terminálu.
mcr.microsoft.com/mssql/server:2019-latest
- Tímto sdělíte Dockeru, který obrázek má použít.
Síla hesla
Musíte použít silné heslo. Microsoft k heslu říká toto:
Heslo by se mělo řídit výchozí zásadou hesla pro SQL Server, jinak kontejner nemůže nastavit SQL server a přestane fungovat. Ve výchozím nastavení musí mít heslo alespoň 8 znaků a musí obsahovat znaky ze tří z následujících čtyř sad:Velká písmena, Malá písmena, Základní 10 číslic a Symboly.
Chyba – „Port již přidělen“?
Pokud se zobrazí chyba, která říká, že „port je již přidělen“, možná již máte SQL Server nainstalovaný v jiném kontejneru, který tento port používá. V tomto případě budete muset namapovat na jiný port na hostiteli.
Proto můžete výše uvedený příkaz změnit na něco takového:
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
V tomto případě jsem jednoduše změnil
-p 1433:1433
na-p 1400:1433
. Vše ostatní zůstává stejné.Nyní se může zobrazit chyba, že musíte nejprve odstranit existující kontejner. Chcete-li to provést, spusťte následující (ale vyměňte
Bart
s názvem vašeho vlastního kontejneru):sudo docker rm Bart
Po odstranění můžete zkusit spustit předchozí příkaz znovu.
Všimněte si, že pokud změníte port, jako jsem to udělal zde, pravděpodobně budete muset zahrnout číslo portu při připojování k serveru SQL Server z jakéhokoli databázového nástroje z vaší plochy. Například při připojování přes Azure Data Studio (uvedené níže) se můžete připojit pomocí
Localhost,1400
místo pouzeLocalhost
. Totéž s mssql-cli, což je nástroj SQL příkazového řádku.
Zkontrolovat vše
Teď, když jsme to udělali, měli bychom jít. Pojďme to projít a provést několik kontrol.
-
Zkontrolujte kontejner Docker (volitelné)
Chcete-li zkontrolovat, zda je kontejner Docker spuštěn, můžete zadat následující příkaz.
sudo docker ps -a
V mém případě chápu toto:
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
To mi říká, že mám v provozu dva kontejnery dockeru:jeden s názvem Bart a druhý s názvem Homer .
-
Připojit k serveru SQL Server
Zde používáme nástroj příkazového řádku serveru SQL Server s názvem „sqlcmd“ uvnitř kontejneru pro připojení k serveru SQL.
sudo docker exec -it Bart "bash"
Pokud budete vyzváni, zadejte své heslo.
Nyní, když jste uvnitř kontejneru, připojte se místně pomocí sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
To by vás mělo přivést k výzvě sqlcmd 1> .
-
Spusťte rychlý test
Spusťte rychlý test a zkontrolujte, zda je SQL Server v provozu. Zkontrolujte například verzi serveru SQL zadáním tohoto:
SELECT @@version
Tím se dostanete na příkazový řádek 2> na dalším řádku. Chcete-li provést dotaz, zadejte:
GO
Výsledek:
+--------------------+ | (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)
Pokud vidíte zprávu jako je tato, gratulujeme – SQL Server je nyní na vašem Macu spuštěn!
Pokud ke správě SQL Serveru dáváte přednost použití GUI, čtěte dále.
Azure Data Studio
Azure Data Studio je bezplatný nástroj pro správu GUI, který můžete použít ke správě SQL Serveru na Macu. Můžete jej použít k vytváření a správě databází, psaní dotazů, zálohování a obnovování databází a další.
Azure Data Studio je k dispozici pro Windows, Mac a Linux.
Zde je několik článků/výukových programů, které jsem napsal pro Azure Data Studio:
- Co je Azure Data Studio
- Jak nainstalovat Azure Data Studio na Mac
- Jak vytvořit databázi pomocí Azure Data Studio
- Jak obnovit databázi pomocí Azure Data Studio na Macu
Další bezplatné GUI pro SQL Server – DBeaver
Dalším nástrojem GUI serveru SQL Server, který můžete použít na svém Macu (a Windows/Linux/Solaris), je DBeaver.
DBeaver je bezplatný nástroj pro správu databází s otevřeným zdrojovým kódem, který lze použít na většině systémů pro správu databází (jako jsou MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby a další ).
Napsal jsem malý úvod k DBeaveru, nebo můžete přejít přímo na stránku stahování DBeaver a vyzkoušet to s vaší novou instalací SQL Serveru.