sql >> Databasteknik >  >> RDS >> Sqlserver

Installera SQL Server 2019 på en Mac

Jag har tidigare förklarat hur man installerar SQL Server på en Mac via en Docker-behållare. När jag skrev det var SQL Server 2017 den senaste versionen av SQL Server, och den hade precis gjorts tillgänglig för Linux och Docker (vilket innebär att du även kan installera den på MacOS-system).

I slutet av 2018 tillkännagav Microsoft SQL Server 2019 Preview, och offentliggjorde därefter allmän release i slutet av 2019. Installationsprocessen för SQL Server 2019 är exakt densamma som för SQL Server 2017. Den enda skillnaden är att du behöver använda behållaravbildningen för SQL Server 2019 istället för 2017-bilden. Här visar jag hur du gör det.

Om du redan har SQL Server 2017 installerad och du vill installera SQL Server 2019 utan att ta bort 2017-versionen, måste du tilldela ett annat portnummer på din värd. Jag visar dig hur du gör det också.

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

Docker

Det första steget är att installera Docker. Om du redan har Docker installerat kan du hoppa över detta steg (och hoppa direkt till SQL Server).

Docker är en plattform som gör att programvara kan köras i sin egen isolerade miljö. Därför kan SQL Server 2019 köras på Docker i sin egen isolerade behållare.

  1. Installera Docker

    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.

  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 kommer Docker att ha 2 GB minne tilldelat. Jag skulle föreslå att du ökar den till 4 GB om du kan.

    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

SQL-server

Nu när Docker har installerats och konfigurerats kan vi ladda ner och installera SQL Server 2019.

  1. Ladda ner SQL Server 2019

    Ö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 för Linux Docker-avbildningen till din dator.

    Du kan också söka efter de olika alternativen för behållarbild på Docker-webbplatsen om du vill.

  2. Starta Docker-bilden

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

    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
    

    Ändra bara Bart till ett namn som du väljer och reallyStrongPwd#123 till ett lösenord som du väljer.

    Om du får ett "port redan allokerad"-fel, se nedan.

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

    -e 'ACCEPT_EULA=Y'
    Y visar att du godkänner EULA (End User License Agreement). Detta krävs.
    -e 'SA_PASSWORD=reallyStrongPwd#123'
    Obligatorisk parameter som ställer in sa databaslösenord.
    -p 1433:1433
    Detta mappar den lokala porten 1433 till port 1433 på behållaren. Det första värdet är TCP-porten på värdmiljön. Det andra värdet är TCP-porten i behållaren.
    --name Bart
    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. Du kanske föredrar att ge den ett mer beskrivande namn som sql_server_2019 eller liknande.
    -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.
    mcr.microsoft.com/mssql/server:2019-latest
    Detta talar om för Docker vilken bild som ska användas.

    Lösenordsstyrka

    Du måste använda ett starkt lösenord. Microsoft säger så här om lösenordet:

    Lösenordet bör följa SQL Servers standardlösenordspolicy, annars kan behållaren inte konfigurera SQL-servern och slutar fungera. Som standard måste lösenordet vara minst 8 tecken långt och innehålla tecken från tre av följande fyra uppsättningar:versaler, gemener, bas 10 siffror och symboler.

    Fel – "Porten är redan allokerad"?

    Om du får ett felmeddelande som säger något om "porten är redan allokerad", kanske du redan har SQL Server installerad på en annan behållare som använder den porten. I det här fallet måste du mappa till en annan port på värden.

    Därför kan du ändra kommandot ovan till något i stil med detta:

    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
    

    I det här fallet ändrade jag helt enkelt -p 1433:1433 till -p 1400:1433 . Allt annat förblir detsamma.

    Du kan nu få ett felmeddelande som säger att du måste ta bort den befintliga behållaren först. För att göra det, kör följande (men byt ut Bart med namnet på din egen container):

    sudo docker rm Bart
    

    När du har tagit bort det kan du prova att köra föregående kommando igen.

    Observera att om du ändrar porten som jag har gjort här, måste du förmodligen inkludera portnumret när du ansluter till SQL Server från alla databasverktyg från ditt skrivbord. Till exempel, när du ansluter via Azure Data Studio (som nämns nedan), kan du ansluta genom att använda Localhost,1400 istället för bara Localhost . Samma sak med mssql-cli, som är ett kommandoradsverktyg för SQL.

Kontrollera allt

Nu när vi har gjort det borde vi vara igång. Låt oss gå igenom och köra några kontroller.

  1. Kontrollera Docker-behållaren (valfritt)

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

    sudo docker ps -a
    

    I mitt fall får jag detta:

    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
    

    Detta säger mig att jag har två dockningscontainrar igång:en som heter Bart och den andra heter Homer .

  2. Anslut till SQL Server

    Här använder vi kommandoradsverktyget för SQL Server som heter "sqlcmd" inuti behållaren för att ansluta till SQL Server.

    sudo docker exec -it Bart "bash"
    

    Ange ditt lösenord om du uppmanas.

    Nu när du är inne i behållaren, anslut lokalt med sqlcmd:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
    

    Detta bör ta dig till sqlcmd-prompten 1> .

  3. Kör ett snabbtest

    Kör ett snabbtest för att kontrollera att SQL Server är igång. Kontrollera till exempel SQL Server-versionen genom att ange detta:

    SELECT @@version
    

    Detta tar dig till en kommandotolk 2> på nästa rad. För att utföra frågan, skriv in:

    GO
    

    Resultat:

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

    Om du föredrar att använda ett GUI för att hantera SQL Server, läs vidare.

Azure Data Studio

Azure Data 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.


  1. Hur visar jag ett MySQL-fel i PHP för en lång fråga som beror på användarens input?

  2. Dela dina data med PostgreSQL 11

  3. Varje GROUP BY-uttryck måste innehålla minst en kolumn som inte är en yttre referens

  4. Hur återställer man löpande SUM efter att den når ett tröskelvärde?