Dříve jsem vysvětlil, jak nainstalovat SQL Server na Mac pomocí obrazu SQL Server pro Linux Docker.
Od té doby Apple vydal svůj čip M1, který využívá architekturu ARM. To může způsobit problém při pokusu o instalaci serveru SQL Server. Problém je v tom, že v době psaní tohoto článku není SQL Server podporován na architektuře ARM.
Naštěstí existuje alternativa.
Obraz kontejneru pro Azure SQL Edge lze nainstalovat na M1 Mac. Proto můžeme použít tento obrázek místo obrázku SQL Server.
Azure SQL Edge je optimalizovaný relační databázový stroj určený pro nasazení IoT a IoT Edge. Je postaven na nejnovějších verzích databázového stroje SQL Server, takže můžete používat kód T-SQL stejně jako při používání SQL Server. Pro dotazování Azure SQL Edge můžete také použít stejné nástroje, jaké byste použili s SQL Serverem (jako je SSMS, Azure Data Studio atd.).
V tomto článku nainstaluji Developer Edition Azure SQL Edge na Mac s čipem M1.
Nainstalovat Docker
Vzhledem k tomu, že instalujeme SQL Edge prostřednictvím kontejneru Docker, musíme mít nainstalovaný Docker.
Pokud ještě nemáte Docker, stáhněte si ho a nainstalujte následovně:
- Stáhněte si Docker z webu Docker. Nezapomeňte si stáhnout ten pro M1 Mac (tlačítko se jmenovalo
Mac with Apple Chip
když jsem si to stáhl). - Po stažení otevřete soubor
.dmg
a přetáhněte ikonu Docker.app do složky Aplikace podle pokynů. - 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. Pokračujte a zadejte své heslo, protože Docker jej potřebuje ke spuštění.
Instalace Azure SQL Edge
Nyní, když je Docker nainstalován, můžeme pokračovat a nainstalovat Azure SQL Edge. Jak již bylo zmíněno, používá databázový stroj SQL Server, a proto jej můžeme použít ke spouštění dotazů T-SQL atd., jako bychom dotazovali SQL Server.
Otevřete okno Terminálu a spusťte následující příkaz:
docker pull mcr.microsoft.com/azure-sql-edge
To stáhne/stáhne obraz kontejneru do vašeho místního počítače.
Pokud chcete, můžete alternativně zkontrolovat možnosti kontejneru na webu Docker.
Po dokončení stahování spusťte následující příkaz a spusťte instanci obrazu Docker, který jste právě stáhli:
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
Nezapomeňte změnit bigStrongPwd
na silné heslo dle vašeho výběru. Můžete také změnit hodnotu --name
parametr, chcete-li.
Ve výchozím nastavení je kontejner spuštěn s Developer Edition. Premium Edition můžete spustit přidáním -e 'MSSQL_PID=Premium'
.
Zkontrolujte kontejner Docker
Pro kontrolu, zda je kontejner v provozu, můžeme použít následující příkaz:
docker ps
Výsledek:
a190dd199b17 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 10 seconds ago Up 9 seconds 1401/tcp, 0.0.0.0:1433->1433/tcp sqledge
To mi ukazuje, že kontejner je ve skutečnosti v provozu.
Pokud z nějakého důvodu není váš kontejner spuštěn a spuštěn, zkuste následující příkaz:
docker start sqledge
Nahraďte sqledge
s názvem vašeho kontejneru.
S kontejnerem spuštěným a spuštěným nyní můžeme pokračovat a připojit se k SQL Edge.
Připojte se k SQL Edge
Nyní se můžete připojit k instalaci Azure SQL Edge pomocí podrobností poskytnutých při spouštění bitové kopie Dockeru.
Zde je snímek obrazovky s připojením k Azure SQL Edge přes Azure Data Studio:
Zde je návod, jak nainstalovat Azure Data Studio na Mac.
Microsoft uvádí, že Azure Data Studio „aktuálně nepodporuje architekturu ARM“, ale neměl jsem problém s instalací na svůj M1 Mac (tj. s architekturou ARM).
Spusťte dotazy SQL
Po připojení k SQL Edge můžete vytvářet databáze, spouštět dotazy T-SQL atd. (T-SQL je rozšíření SQL Serveru k SQL).
Podívejte se na můj výukový program SQL, který vám pomůže zrychlit spouštění dotazů SQL.
Podporované funkce v SQL Edge
Měl bych zmínit, že některé funkce SQL Serveru nejsou v SQL Edge podporovány. Azure SQL Edge podporuje podmnožinu funkcí podporovaných SQL Server 2019 v Linuxu.
To znamená, že SQL Edge má některé funkce, které nejsou na serveru SQL k dispozici (například DATE_BUCKET()
funkce).
Úplný rozpis najdete v tématu Podporované funkce Azure SQL Edge na webu Microsoftu.