sql >> Databasteknik >  >> RDS >> Sqlserver

Konfigurera en lokal SQL Server-databas


Översikt

I den här guiden kommer vi att prata om hur man installerar och konfigurerar en SQL Server-instans och sqlcmd kommandoradsklient. Vi kommer att gå igenom hur du installerar och ställer in dessa komponenter på din dator för lokal åtkomst.

Den här guiden kommer att täcka följande plattformar:

  • Konfigurera SQL Server på Windows
  • Konfigurera SQL Server på macOS (med Docker)
  • Konfigurera SQL Server på Linux
    • Ubuntu
    • CentOS och Red Hat
    • Med Docker

Navigera till avsnitten som matchar plattformarna du kommer att arbeta med.



Konfigurera SQL Server på Windows

Microsoft tillhandahåller inbyggda Windows-installationsprogram för SQL Server på sin webbplats och erbjuder olika versioner av SQL Server som lämpar sig för olika ändamål. För syftet med den här guiden kommer vi att ladda ner och installera den kostnadsfria Developer-utgåvan. Du kan enkelt uppgradera till en betalversion från Developer-utgåvan om du vill använda den för produktion.

Börja med att besöka Microsofts sida för SQL Server. Hitta avsnittet som är relaterat till Developer-utgåvan och klicka på Ladda ned nu :

När nedladdningen är klar dubbelklickar du på filen för att köra installationsprogrammet (du kan behöva bekräfta att du vill tillåta programmet att göra ändringar på din dator).

På installationsprogrammets startskärm kommer du att bli ombedd att välja vilken typ av installation du vill utföra:

Välj Grundläggande för att fortsätta med en konventionell installation med de vanligaste alternativen.

Därefter kommer du att bli ombedd att godkänna licensvillkoren för Developer Edition:

När du har läst licensen och godkänner villkoren klickar du på Acceptera för att fortsätta.

Bekräfta eller ändra sedan installationsplatsen:

När du är klar klickar du på Installera för att påbörja installationsprocessen.

Installationsprogrammet börjar ladda ner och installera komponenter för att ställa in SQL Server på din dator:

När installationen är klar visas en skärm med de aktuella installationsegenskaperna:

För att ansluta till den nya SQL Server-instansen direkt, klicka på Anslut nu längst ner.

Ett nytt fönster kommer att Cmd fönstret visas och loggar dig automatiskt in på SQL Server-instansen med hjälp av sqlcmd klient:

Som visas i en kommentar överst i fönstret kan du ansluta till SQL Server manuellt när som helst med sqlcmd klient genom att skriva:

sqlcmd -S <yourhostname> -E

För att avsluta den aktuella SQL-sessionen, skriv:

EXIT


Konfigurera SQL Server på macOS

Även om Microsoft inte tillhandahåller ett inbyggt installationsprogram för macOS, stöder de körning av SQL Server på macOS via Docker. Den huvudsakliga SQL Server Docker-behållaren är byggd med en Linux-behållare, vilket gör att alla värdar som kan köra Docker-behållare kan köra databasservern.

Du behöver minst 2 GB minne (förmodligen åtminstone lite mer) för att köra bilden, dock kräver docker själv minst 4 GB minne.

För att börja, se till att du har Docker på ditt system. Docker Desktop för Mac inkluderar Docker Engine och andra relaterade applikationer. Om du inte redan har Docker installerat, följ instruktionerna i länken ovan.

När du har Docker igång kan du hämta SQL Server Docker-avbildningen från Microsoft Container Registry genom att skriva:

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

Detta kommer att ladda ner alla nödvändiga bildlager till ditt lokala system, vilket möjliggör en snabbare uppstart.

När du är redo att starta behållaren, skriv följande kommando.

Kom ihåg att ersätta med värdet på ditt avsedda lösenord och välj ett värde som överensstämmer med bildens lösenordspolicy. När detta skrivs är policyn definierad som:"Lösenordet måste vara minst 8 tecken långt och innehålla tecken från tre av följande fyra uppsättningar:versaler, små bokstäver, bas 10 siffror och symboler.":

docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

SQL Server-behållaren kommer att startas i bakgrunden. Teckensträngen som visas är den nya behållarens ID.

Du kan verifiera att behållaren är igång genom att skriva:

docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Du bör se mssql behållare bland listan. Om behållaren inte körs eller om du har problem kan du prova att titta på dess loggar för att se om det finns några användbara meddelanden:

docker logs mssql

SQL Server-behållaren har inte bara databasservern installerad, den har också några av de vanliga verktygen tillgängliga, inklusive sqlcmd kommandoradsklient. För att använda den här klienten för att ansluta till databasinstansen kan du använda docker exec för att komma åt kommandot och autentisera mot databasen:

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Du kommer att autentiseras till SQL Server inuti behållaren och släppas in i ett SQL-skal. Du kan verifiera att allt är igång genom att skriva:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

För att avsluta SQL-sessionen och återgå till ditt vanliga skal, skriv:

EXIT

För att stänga av SQL Server-behållaren när du är klar kan du stoppa den genom att skriva:

docker stop mssql

För att ta bort behållarinstansen (inklusive all data inuti!), skriv:

docker rm mssql

För att bevara data i din SQL Server-behållare kan du använda en av de tekniker som beskrivs i Microsoft-dokumentationen eller ta en titt på Dockers egen dokumentation om användning av datavolymer med behållare.



Konfigurera SQL Server på Linux

Installationsmetoderna varierar beroende på vilken Linux-distribution du använder. Följ avsnittet nedan som matchar din Linux-distribution. Det finns också instruktioner som använder Docker om du föredrar den konfigurationen eller vill använda en distribution som inte är listad.

  • Ubuntu
  • CentOS och Red Hat
  • Med Docker

Ubuntu

Det enklaste sättet att installera SQL Server på Ubuntu 20.04 är att installera från de dedikerade arkiven som tillhandahålls av Microsoft. Din maskin måste ha minst 2 GB minne för att installera och köra nödvändig programvara.

För att börja, lägg till en ny förvarsdefinition till ditt system genom att skriva:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Du måste också lägga till ett separat arkiv för att få tillgång till sqlcmd binära och andra verktyg:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"

Lägg sedan till Microsoft-paketsigneringsnyckeln till apt så att den litar på paketen i det nya arkivet:

wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Med förvaret inställt kan du installera SQL Server och sqlcmd kommandoradsklient genom att skriva:

sudo apt install mssql-server mssql-tools unixodbc-dev

När installationen är klar måste du konfigurera din nya databasinstans. För att göra det, kör den medföljande mssql-conf setup skript för att ställa in några av de grundläggande egenskaperna för ditt nya system:

sudo /opt/mssql/bin/mssql-conf setup

Du kommer att ställas en rad frågor för att konfigurera databasservern.

Först kommer den att fråga dig vilken upplaga av SQL-server du vill använda:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Om du har en betallicens kan du välja lämplig version. Om du använder servern i en icke-produktionsmiljö är det säkert att välja utvecklarversionen.

Därefter måste du acceptera licensvillkoren igen:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

Slutligen måste du ställa in och bekräfta ett lösenord för SQL Server-systemadministratörskontot (kallas SA-kontot på många ställen):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

För att använda sqlcmd klient för att ansluta till din SQL Server-instans, är det enklast att lägga till mssql-tools binär katalog till din PATH . För att konfigurera detta, skriv:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Återställ sedan en av de två filerna ovan för att utvärdera den nya PATH för din nuvarande session:

source ~/.bashrc

Du kan nu ansluta till din databasinstans genom att skriva:

sqlcmd -U SA -S 127.0.0.1

Du kommer att bli ombedd att ange lösenordet du konfigurerade tidigare. Efter framgångsrik autentisering kommer du att hamna i ett SQL-skal. Härifrån kan du verifiera att allt fungerar genom att skriva ut serverns version:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>  (1 rows affected)

För att avsluta SQL-skalet och komma tillbaka till kommandoraden kan du skriva:

EXIT


CentOS och Red Hat

Det enklaste sättet att få SQL Server installerad på CentOS eller Red Hat är att använda de arkiv som tillhandahålls av Microsoft. Linux-värdar måste ha minst 2 GB minne för att installera och köra SQL Server.

Innan du installerar SQL Server måste du installera och konfigurera dess beroenden. Vi behöver både Python 2 och OpenSSL 10 för att fortsätta:

sudo yum install python2 compat-openssl10

När Python 2 har installerats, konfigurera systemet att använda det som standard Python-instans:

sudo alternatives --config python

Från listan som följer väljer du numret som är kopplat till Python 2-installationen. I exemplet nedan kommer detta att vara alternativ 2:

 There are 2 programs which provide 'python'.    Selection    Command ----------------------------------------------- *+ 1           /usr/libexec/no-python    2           /usr/bin/python2  Enter to keep the current selection[+], or type selection number: 2

Med beroenden på plats kan du nu konfigurera SQL Server YUM-förvaret:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo

Efteråt måste du konfigurera ett extra arkiv för att få tillgång till sqlcmd och andra verktyg:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo

När arkiven är konfigurerade, installera SQL Server genom att skriva:

sudo yum install mssql-server mssql-tools unixODBC-devel

När installationen är klar måste du konfigurera din nya databasinstans. För att göra det, kör den medföljande mssql-conf setup skript för att ställa in några av de grundläggande egenskaperna för ditt nya system:

sudo /opt/mssql/bin/mssql-conf setup

Du kommer att ställas en rad frågor för att konfigurera databasservern.

Först kommer den att fråga dig vilken upplaga av SQL-server du vill använda:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Om du har en betallicens kan du välja lämplig version. Om du använder servern i en icke-produktionsmiljö är det säkert att välja utvecklarversionen.

Därefter måste du acceptera licensvillkoren igen:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

Slutligen måste du ställa in och bekräfta ett lösenord för SQL Server-systemadministratörskontot (kallas SA-kontot på många ställen):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

För att använda sqlcmd klient för att ansluta till din SQL Server-instans, är det enklast att lägga till mssql-tools binär katalog till din PATH . För att konfigurera detta, skriv:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Återställ sedan en av de två filerna ovan för att utvärdera den nya PATH för din nuvarande session:

source ~/.bashrc

Du kan nu ansluta till din databasinstans genom att skriva:

sqlcmd -U SA -S 127.0.0.1

Du kommer att bli ombedd att ange lösenordet du konfigurerade tidigare. Efter framgångsrik autentisering kommer du att hamna i ett SQL-skal. Härifrån kan du verifiera att allt fungerar genom att skriva ut serverns version:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64>  (1 rows affected)

För att avsluta SQL-skalet och komma tillbaka till kommandoraden kan du skriva:

EXIT


Med Docker

Om du använder en Linux-distribution som Microsoft inte tillhandahåller paket för eller om du helt enkelt föredrar, är ett annat alternativ att köra SQL Server med Docker. Du behöver minst 2 GB minne (förmodligen åtminstone lite mer) för att köra bilden.

För att börja, se till att du har Docker Engine på ditt system. Du kan hitta detaljerade instruktioner för olika plattformar i Docker Engine-dokumentationen.

När du har Docker igång kan du hämta SQL Server Docker-avbildningen från Microsoft Container Registry genom att skriva:

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

Detta kommer att ladda ner alla nödvändiga bildlager till ditt lokala system, vilket möjliggör en snabbare uppstart.

När du är redo att starta behållaren, skriv följande kommando.

Kom ihåg att ersätta med värdet på ditt avsedda lösenord och välj ett värde som överensstämmer med bildens lösenordspolicy. När detta skrivs är policyn definierad som:"Lösenordet måste vara minst 8 tecken långt och innehålla tecken från tre av följande fyra uppsättningar:versaler, små bokstäver, bas 10 siffror och symboler.":

sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

SQL Server-behållaren kommer att startas i bakgrunden. Teckensträngen som visas är den nya behållarens ID.

Du kan verifiera att behållaren är igång genom att skriva:

sudo docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Du bör se mssql behållare bland listan. Om behållaren inte körs eller om du har problem kan du prova att titta på dess loggar för att se om det finns några användbara meddelanden:

sudo docker logs mssql

SQL Server-behållaren har inte bara databasservern installerad, den har också några av de vanliga verktygen tillgängliga, inklusive sqlcmd kommandoradsklient. För att använda den här klienten för att ansluta till databasinstansen kan du använda docker exec för att komma åt kommandot och autentisera mot databasen:

sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Du kommer att autentiseras till SQL Server inuti behållaren och släppas in i ett SQL-skal. Du kan verifiera att allt är igång genom att skriva:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

För att avsluta SQL-sessionen och återgå till ditt vanliga skal, skriv:

EXIT

För att stänga av SQL Server-behållaren när du är klar kan du stoppa den genom att skriva:

sudo docker stop mssql

För att ta bort behållarinstansen (inklusive all data inuti!), skriv:

sudo docker rm mssql

För att bevara data i din SQL Server-behållare kan du använda en av de tekniker som beskrivs i Microsoft-dokumentationen eller ta en titt på Dockers egen dokumentation om användning av datavolymer med behållare.





  1. Schemalagd körning av lagrad procedur på SQL-server

  2. Oracle-uppdateringen hänger sig

  3. Hur man exporterar frågeresultat till en .txt-fil när du använder SQLcl (Oracle)

  4. Skillnader mellan INDEX, PRIMÄR, UNIK, FULLTEXT i MySQL?