Ik heb eerder uitgelegd hoe je SQL Server op een Mac installeert met behulp van de SQL Server voor Linux Docker-image.
Sindsdien heeft Apple zijn M1-chip uitgebracht, die gebruikmaakt van ARM-architectuur. Dit kan een probleem veroorzaken bij het installeren van SQL Server. Het probleem is dat op het moment van schrijven SQL Server niet wordt ondersteund op de ARM-architectuur.
Gelukkig is er een alternatief.
De containerinstallatiekopie voor Azure SQL Edge kan op de M1 Mac worden geïnstalleerd. Daarom kunnen we die afbeelding gebruiken in plaats van de SQL Server-afbeelding.
Azure SQL Edge is een geoptimaliseerde relationele database-engine die is afgestemd op IoT- en IoT Edge-implementaties. Het is gebouwd op de nieuwste versies van de SQL Server Database Engine, dus u kunt T-SQL-code gebruiken net zoals u zou doen bij het gebruik van SQL Server. U kunt ook dezelfde hulpprogramma's gebruiken om Azure SQL Edge op te vragen die u zou gebruiken met SQL Server (zoals SSMS, Azure Data Studio, enz.).
In dit artikel installeer ik de Developer Edition van Azure SQL Edge op een Mac met de M1-chip.
Installeer Docker
Aangezien we SQL Edge installeren via een Docker-container, moeten we Docker hebben geïnstalleerd.
Als je Docker nog niet hebt, download en installeer het dan als volgt:
- Download Docker van de Docker-website. Zorg ervoor dat je die voor de M1 Mac downloadt (de knop heette
Mac with Apple Chip
toen ik het downloadde). - Eenmaal gedownload, open de
.dmg
bestand en sleep het Docker.app-pictogram volgens de instructies naar uw map Programma's. - Lanceer Docker op dezelfde manier waarop u een andere toepassing zou starten (bijvoorbeeld via de map Programma's, het Launchpad, enz.). Wanneer u Docker opent, wordt u mogelijk om uw wachtwoord gevraagd. Ga je gang en geef je wachtwoord op, want Docker heeft dit nodig om te kunnen werken.
Azure SQL Edge installeren
Nu Docker is geïnstalleerd, kunnen we doorgaan en Azure SQL Edge installeren. Zoals vermeld, maakt dit gebruik van de SQL Server Database Engine, en daarom kunnen we deze gebruiken om T-SQL-query's, enz. uit te voeren, alsof we SQL Server-query's uitvoeren.
Open een Terminal-venster en voer de volgende opdracht uit:
docker pull mcr.microsoft.com/azure-sql-edge
Dat haalt/downloadt de container-image naar uw lokale computer.
Je kunt desgewenst ook de containeropties op de Docker-website bekijken.
Zodra de download is voltooid, voert u de volgende opdracht uit om een exemplaar van de Docker-afbeelding die u zojuist hebt gedownload te starten:
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
Zorg ervoor dat u bigStrongPwd
. wijzigt naar een sterk wachtwoord naar keuze. U kunt ook de waarde van de --name
. wijzigen parameter als je wilt.
Standaard wordt de container uitgevoerd met de Developer Edition. U kunt de Premium-editie uitvoeren door -e 'MSSQL_PID=Premium'
toe te voegen .
Controleer de Docker-container
We kunnen het volgende commando gebruiken om te controleren of de container actief is:
docker ps
Resultaat:
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
Dit laat me zien dat de container daadwerkelijk in gebruik is.
Als uw container om de een of andere reden niet actief is, probeer dan het volgende commando:
docker start sqledge
Vervang sqledge
met de naam van uw container.
Nu de container in gebruik is, kunnen we nu doorgaan en verbinding maken met SQL Edge.
Verbinden met SQL Edge
U kunt nu verbinding maken met uw Azure SQL Edge-installatie met behulp van de details die zijn verstrekt bij het starten van de Docker-image.
Hier is een screenshot van het verbinden met Azure SQL Edge via Azure Data Studio:
Hier leest u hoe u Azure Data Studio op een Mac installeert.
Microsoft stelt dat Azure Data Studio "momenteel de ARM-architectuur niet ondersteunt", maar ik had geen probleem met het installeren op mijn M1-Mac (d.w.z. met ARM-architectuur).
SQL-query's uitvoeren
Eenmaal verbonden met SQL Edge, kunt u databases maken, T-SQL-query's uitvoeren, enz. (T-SQL is de SQL Server-extensie voor SQL).
Bekijk mijn SQL-tutorial om aan de slag te gaan met het uitvoeren van SQL-query's.
Ondersteunde functies in SQL Edge
Ik moet vermelden dat sommige SQL Server-functies niet worden ondersteund in SQL Edge. Azure SQL Edge ondersteunt een subset van de functies die SQL Server 2019 op Linux ondersteunde.
Dat gezegd hebbende, heeft SQL Edge enkele functies die niet beschikbaar zijn in SQL Server (zoals de DATE_BUCKET()
functie).
Zie Ondersteunde functies van Azure SQL Edge op de Microsoft-website voor een volledig overzicht.