sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan installeres SQL Server på en M1 Mac (ARM64)

Jeg har tidligere forklaret, hvordan man installerer SQL Server på en Mac ved hjælp af SQL Server til Linux Docker-billedet.

Siden da har Apple frigivet sin M1-chip, som bruger ARM-arkitektur. Dette kan forårsage et problem, når du prøver at installere SQL Server. Problemet er i skrivende stund, at SQL Server ikke er understøttet på ARM-arkitekturen.

Heldigvis er der et alternativ.

Containerbilledet til Azure SQL Edge kan installeres på M1 Mac. Derfor kan vi bruge det billede i stedet for SQL Server-billedet.

Azure SQL Edge er en optimeret relationsdatabasemotor, der er gearet til IoT- og IoT Edge-implementeringer. Den er bygget på de nyeste versioner af SQL Server Database Engine, så du kan bruge T-SQL-kode, ligesom du ville, når du bruger SQL Server. Du kan også bruge de samme værktøjer til at forespørge Azure SQL Edge, som du ville bruge med SQL Server (såsom SSMS, Azure Data Studio osv.).

I denne artikel installerer jeg Developer Edition af Azure SQL Edge på en Mac med M1-chippen.

Installer Docker

Da vi installerer SQL Edge via en Docker-container, skal vi have Docker installeret.

Hvis du ikke allerede har Docker, skal du downloade og installere den som følger:

  1. Download Docker fra Docker-webstedet. Sørg for at downloade den til M1 Mac (knappen hed Mac with Apple Chip). da jeg downloadede det).
  2. Når det er downloadet, skal du åbne .dmg fil og træk Docker.app-ikonet til din Applications-mappe som anvist.
  3. Start Docker på samme måde, som du ville starte ethvert andet program (f.eks. via mappen Programmer, Launchpad osv.). Når du åbner Docker, bliver du muligvis bedt om din adgangskode. Gå videre og angiv din adgangskode, da Docker har brug for denne for at køre.

Installer Azure SQL Edge

Nu hvor Docker er installeret, kan vi gå videre og installere Azure SQL Edge. Som nævnt bruger denne SQL Server Database Engine, og vi kan derfor bruge den til at køre T-SQL forespørgsler osv., som om vi forespurgte SQL Server.

Åbn et terminalvindue og kør følgende kommando:

docker pull mcr.microsoft.com/azure-sql-edge 

Det trækker/downloader containerbilledet til din lokale maskine.

Du kan alternativt kontrollere containerindstillingerne på Docker-webstedet, hvis du foretrækker det.

Når overførslen er fuldført, skal du køre følgende kommando for at starte en forekomst af Docker-billedet, du lige har downloadet:

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 

Sørg for at ændre bigStrongPwd til en stærk adgangskode efter eget valg. Du kan også ændre værdien af ​​--name parameter, hvis du ønsker det.

Som standard køres containeren med Developer Edition. Du kan køre Premium Edition ved at tilføje -e 'MSSQL_PID=Premium' .

Tjek Docker-beholderen

Vi kan bruge følgende kommando til at kontrollere, om containeren er oppe og køre:

docker ps 

Resultat:

a190dd199b17 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" for 10 sekunder siden Op 9 sekunder 1401/tcp, 0.0.0.0:1433->1433/tcp sqledge> 

Dette viser mig, at containeren faktisk er oppe at køre.

Hvis din container af en eller anden grund ikke er oppe at køre, så prøv følgende kommando:

docker start sqledge 

Erstat sqledge med navnet på din container.

Med containeren oppe at køre, kan vi nu gå videre og oprette forbindelse til SQL Edge.

Opret forbindelse til SQL Edge

Du kan nu oprette forbindelse til din Azure SQL Edge-installation ved at bruge de oplysninger, der er angivet, når du starter Docker-billedet.

Her er et skærmbillede af tilslutning til Azure SQL Edge via Azure Data Studio:

Sådan installerer du Azure Data Studio på en Mac.

Microsoft oplyser, at Azure Data Studio "i øjeblikket ikke understøtter ARM-arkitekturen", men jeg havde ingen problemer med at installere det på min M1 Mac (dvs. med ARM-arkitektur).

Kør SQL-forespørgsler

Når du først er forbundet til SQL Edge, kan du oprette databaser, køre T-SQL-forespørgsler osv. (T-SQL er SQL Servers udvidelse til SQL).

Se mit SQL-selvstudie for at komme i gang med at køre SQL-forespørgsler.

Understøttede funktioner i SQL Edge

Jeg skal nævne, at nogle SQL Server-funktioner ikke understøttes i SQL Edge. Azure SQL Edge understøtter en undergruppe af de funktioner, der understøttes SQL Server 2019 på Linux.

Når det er sagt, har SQL Edge nogle funktioner, der ikke er tilgængelige i SQL Server (såsom DATE_BUCKET() funktion).

Se Understøttede funktioner i Azure SQL Edge på Microsofts websted for at få en fuldstændig oversigt.


  1. En SQL-forespørgsel til at vælge en streng mellem to kendte strenge

  2. Kan ikke finde et indgangspunkt med navnet 'InterlockedIncrement' i DLL 'kernel32.dll' - [email-beskyttet] 64 bit

  3. SQL Server Skift databasenavn

  4. Bulk Insert til Oracle ved hjælp af .NET