sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man installerar SQL Server på en Mac

Här visar jag dig hur du får SQL Server igång på din Mac på mindre än en halvtimme. Och det bästa är att du har SQL Server som körs lokalt utan att behöva någon virtualiseringsprogramvara.

Före SQL Server 2017, om du ville köra SQL Server på din Mac, var du först tvungen att skapa en virtuell maskin (med VirtualBox, Parallels Desktop, VMware Fusion eller Bootcamp), sedan installera Windows på den virtuella datorn, och till sist SQL Server . Detta är fortfarande ett giltigt alternativ beroende på dina krav (så här installerar du SQL Server på en Mac med VirtualBox om du vill prova den metoden).

Från och med SQL Server 2017 kan du nu installera SQL Server direkt på en Linux-maskin. Och eftersom macOS är Unix-baserat (och Linux är Unix-baserat) kan du köra SQL Server för Linux på din Mac. Sättet att göra detta är att köra SQL Server på Docker.

Så låt oss gå vidare och installera Docker. Sedan laddar vi ner och installerar SQL Server.

Men först... om du använder en Mac med M1-chippet, se Hur man installerar SQL Server på en M1 Mac (ARM64).

  1. Installera Docker

    Ladda ner (gratis) Docker Community Edition för Mac (såvida du inte redan har den installerad på ditt system). Detta gör att du kan köra SQL Server från en Docker-behållare.

    För att ladda ner, besök nedladdningssidan för Docker CE för Mac och klicka på Hämta Docker .

    För att installera, dubbelklicka på .dmg filen och dra sedan Docker.app ikonen till din applikation mapp.

    Vad är Docker?

    Docker är en plattform som gör att programvara kan köras i sin egen isolerade miljö. SQL Server (från 2017) kan köras på Docker i sin egen isolerade behållare. När Docker är installerat laddar du helt enkelt ner - eller "drar" - SQL Server på Linux Docker Image till din Mac och kör den sedan som en Docker-behållare. Den här behållaren är en isolerad miljö som innehåller allt som SQL Server behöver för att köras.

  2. Starta Docker

    Starta Docker på samma sätt som du skulle starta alla andra program (t.ex. via mappen Applications, Launchpad, etc).

    När du öppnar Docker kan du bli ombedd att ange ditt lösenord så att Docker kan installera sina nätverkskomponenter och länkar till Docker-apparna. Fortsätt och ange ditt lösenord, eftersom Docker behöver detta för att köra.

  3. Öka minnet (valfritt)

    Som standard kan Docker ha 2 GB minne tilldelat. SQL Server behöver minst 2 GB. Det skadar dock inte att öka den om du kan.

    I mitt fall ökade jag den till 4 GB.

    För att göra detta, välj Inställningar från den lilla Docker-ikonen i toppmenyn:

    Sedan på Resurser> Avancerat skjut upp minnesreglaget till minst 4 GB:

    Avsluta sedan med att klicka på Använd och starta om

  4. Ladda ner SQL Server

    Nu när Docker är installerat kan vi ladda ner och installera SQL Server för Linux.

    Öppna ett terminalfönster och kör följande kommando.

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    

    Detta laddar ner den senaste SQL Server 2019 för Linux Docker-bilden till din dator.

    Du kan också söka efter den senaste containerversionen på Docker-webbplatsen om du vill.

  5. Starta Docker-bilden

    Kör följande kommando för att starta en instans av Docker-bilden du just laddade ner:

    docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest
    

    Men självklart, använd ditt eget namn och lösenord. Om du laddade ner en annan Docker-bild, byt ut mcr.microsoft.com/mssql/server:2019-latest med den du laddade ner.

    Här är en förklaring av parametrarna:

    -d Denna valfria parameter startar Docker-behållaren i demonläge. Detta betyder att det körs i bakgrunden och inte behöver sitt eget terminalfönster öppet. Du kan utelämna den här parametern för att köra behållaren i sitt eget terminalfönster.
    --name sql_server_demo En annan valfri parameter. Denna parameter låter dig namnge behållaren. Detta kan vara praktiskt när du stoppar och startar din container från terminalen.
    -e 'ACCEPT_EULA=Y' Y visar att du godkänner EULA (End User License Agreement). Detta krävs för att SQL Server för Linux ska kunna köras på din Mac.
    -e 'SA_PASSWORD=reallyStrongPwd123' Obligatorisk parameter som ställer in sa databaslösenord.
    -p 1433:1433 Detta mappar den lokala porten 1433 till port 1433 på behållaren. Detta är standard-TCP-porten som SQL Server använder för att lyssna efter anslutningar.
    mcr.microsoft.com/mssql/server:2019-latest Detta talar om för Docker vilken bild som ska användas. Om du laddade ner en annan, använd den istället.

    Lösenordsstyrka

    Om du får följande fel i det här steget, försök igen, men med ett starkare lösenord.

    Microsoft(R) SQL Server(R) setup failed with error code 1. Please check the setup log in /var/opt/mssql/log for more information.
    

    Jag fick det här felet när jag använde reallyStrongPwd som lösenord (men naturligtvis är det inte ett riktigt starkt lösenord!). Jag kunde övervinna detta genom att lägga till några siffror i slutet. Men om det inte bara var en demo skulle jag definitivt göra den starkare än några ordbok och siffror.

  6. Kontrollera Docker-behållaren (valfritt)

    Du kan skriva följande kommando för att kontrollera att Docker-behållaren körs.

    docker ps
    

    Om den är igång bör den returnera något så här:

    CONTAINER ID        IMAGE                                        COMMAND                CREATED             STATUS              PORTS                    NAMES
    4e4aa21eb391        mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/sqls…" 23 seconds ago      Up 21 seconds       0.0.0.0:1433->1433/tcp   sql_server_demo
    
  7. Installera sql-cli (om det inte redan är installerat)

    Kör följande kommando för att installera kommandoradsverktyget sql-cli. Detta verktyg låter dig köra frågor och andra kommandon mot din SQL Server-instans.

    npm install -g sql-cli
    

    Detta förutsätter att du har NodeJs installerade. Om du inte gör det, ladda ner det från Nodejs.org först. När du installerar NodeJs installeras npm automatiskt vilket är vad vi använder i det här kommandot för att installera sql-cli.

    Behörighetsfel?

    Om du får ett felmeddelande och en del av det lyder något som Försök att köra det här kommandot igen som root/administratör , försök igen, men den här gången lägger du till sudo till ditt kommando:

    sudo npm install -g sql-cli
    
  8. Anslut till SQL Server

    Nu när sql-cli är installerat kan vi börja arbeta med SQL Server via terminalfönstret på vår Mac.

    Anslut till SQL Server med mssql kommandot, följt av parametrarna för användarnamn och lösenord.

    mssql -u sa -p reallyStrongPwd123
    

    Du borde se något sånt här:

    Connecting to localhost...done
    
          sql-cli version 0.6.0
          Enter ".help" for usage hints.
          mssql>
    

    Det betyder att du framgångsrikt har anslutit till din instans av SQL Server.

  9. Kör ett snabbtest

    Kör ett snabbtest för att kontrollera att SQL Server är igång och att du kan fråga den.

    Du kan till exempel köra följande kommando för att se vilken version av SQL Server du kör:

    select @@version
    

    Om den körs bör du se något liknande detta (men naturligtvis beror det på vilken version du kör):

    +--------------------+
    | (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)
    

    Om du ser ett meddelande som detta, grattis — SQL Server är nu igång på din Mac!

    Du kan nu gå vidare och köra SQL-frågor mot SQL Server.

    Se min kostnadsfria SQL-handledning för nybörjare för att komma igång med att skriva enkla frågor mot SQL Server.

Ett SQL Server GUI för din Mac – Azure Data Studio

Azure Data Studio (tidigare SQL Operations Studio) är ett gratis GUI-hanteringsverktyg som du kan använda för att hantera SQL Server på din Mac. Du kan använda den för att skapa och hantera databaser, skriva frågor, säkerhetskopiera och återställa databaser och mer.

Azure Data Studio är tillgängligt på Windows, Mac och Linux.

Här är några artiklar/handledningar som jag har skrivit för Azure Data Studio:

  • Vad är Azure Data Studio
  • Så här installerar du Azure Data Studio på din Mac
  • Så här skapar du en databas med Azure Data Studio
  • Hur man återställer en databas med Azure Data Studio på en Mac

Ännu ett gratis SQL Server-gränssnitt – DBeaver

Ett annat SQL Server GUI-verktyg som du kan använda på din Mac (och Windows/Linux/Solaris) är DBeaver.

DBeaver är ett gratis databashanteringsverktyg med öppen källkod som kan användas på de flesta databashanteringssystem (som MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby och mer ).

Jag skrev en liten introduktion till DBeaver, eller så kan du gå direkt till nedladdningssidan för DBeaver och prova den med din nya SQL Server-installation.

Begränsningar för SQL Server för Linux/Mac

SQL Server för Linux har vissa begränsningar jämfört med Windows-utgåvorna (även om detta kan förändras med tiden). Linux-utgåvan innehåller inte många av de extra tjänster som är tillgängliga i Windows-utgåvan, såsom Analysis Services, Reporting Services, etc. Här är en lista över vad som är tillgängligt och vad som inte finns på SQL Server 2017 för Linux och här är Microsofts lista över Utgåvor och funktioner som stöds av SQL Server 2019 på Linux.

En annan begränsning är att  SQL Server Management Studio inte är tillgängligt på Mac eller Linux. SSMS en komplett GUI-hantering för SQL Server, och den ger många fler funktioner än Azure Data Studio och DBeaver (åtminstone i skrivande stund). Du kan fortfarande använda SSMS på en Windows-dator för att ansluta till SQL Server på en Linux- eller Mac-dator, men du kan bara inte installera det lokalt på Linux- eller Mac-datorn.

Om du behöver någon av funktionerna som inte stöds i SQL Server för Linux, behöver du SQL Server för Windows. Du kan dock fortfarande köra SQL Server för Windows på din Mac genom att använda virtualiseringsprogramvara. Så här installerar du SQL Server för Windows på en Mac med VirtualBox.


  1. Hur man jämför två scheman i PostgreSQL

  2. Använd OBJECTPROPERTY() för att ta reda på om en tabell är en systemtabell i SQL Server

  3. Använder dataskyddad med ett anpassat nyckellager från Linux

  4. Spring Data JPA Auditing fungerar inte för JpaRepository-uppdateringsmetoden med @Modifying annotation, varför?