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

Sådan installeres SQL Server på Red Hat 8

Denne artikel giver trin-for-trin instruktioner til installation af SQL Server 2019 til Linux på Red Hat Enterprise Linux (RHEL) 8.

Jeg udførte disse trin ved hjælp af RHEL 8.3, men de skulle også fungere på RHEL-udgaver 7.3 til 7.8 og 8.0 til 8.2.

Du bør have mindst 2 GB hukommelse, før du installerer SQL Server på din Red Hat-maskine. Hvis du installerer dette på en virtuel maskine, skal du have mindst 2 GB hukommelse allokeret til den.

Installer Python 2

SQL Server kræver Python 2 og OpenSSL 1.0, som ikke er inkluderet i RHEL 8.

For at installere python2 og openssl10 skal du åbne terminal og køre følgende kommandoer:

sudo yum install python2
sudo yum install compat-openssl10

Følgende kode konfigurerer python2 som standardfortolkeren:

sudo alternatives --config python

Da jeg kører den kode, blev jeg præsenteret for følgende muligheder:

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

I mit tilfælde valgte jeg 3 , fordi det repræsenterer /usr/bin/python2 . Dette vil oprette et symbollink fra /usr/bin/python2 til /usr/bin/python .

På din maskine kan det være anderledes. Sørg for at vælge det tal, der svarer til /usr/bin/python2 på dit system.

Nu hvor vi har gjort det, kan vi gå videre og installere SQL Server.

Installer SQL Server

De følgende trin er, hvad jeg brugte til at installere SQL Server 2019 til Linux på Red Hat Enterprise Linux 8.3. Disse bør også fungere på RHEL-udgaver 7.3 til 7.8 og 8.0 til 8.2.

Download konfigurationsfilen til Microsoft SQL Server 2019 Red Hat-lageret:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo

Bemærk :Hvis du installerer på RHEL 7, skal du ændre stien fra /rhel/8/ til /rhel/7/ .

Installer SQL Server:

sudo yum install -y mssql-server

Lad det arbejde sig gennem installationen. Når det er gjort, skulle du se en besked som denne:

+--------------------------------------------------------------+
Please run 'sudo /opt/mssql/bin/mssql-conf setup'
to complete the setup of Microsoft SQL Server
+--------------------------------------------------------------+

Tæt fulgt af:

Complete!

Det er din cue til at køre mssql-conf setup :

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

Følg vejledningen for at vælge din udgave, accepter licensaftalen, og indstil sa-adgangskoden.

Sørg for at angive en stærk adgangskode (minimumslængde 8 tegn, inklusive store og små bogstaver, basis 10 cifre og/eller ikke-alfanumeriske symboler).

Her er de forskellige SQL Server-udgaver, du kan vælge imellem, såvel som de andre meddelelser, der præsenteres på dette trin:

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 at
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 2
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=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:Yes
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server…
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

I mit tilfælde valgte jeg 2 for Developer-udgaven, men sørg for at vælge den relevante udgave til dine formål.

Tjek status for SQL Server

Du kan køre følgende kommando for at bekræfte, at SQL Server kører:

systemctl status mssql-server

Dette bør køre hurtigt og returnere en kortfattet masse information, inklusive ordene aktiv (kører) .

Fjernforbindelser

For at tillade fjernforbindelser skal du åbne SQL Server-porten på firewallen.

SQL Servers standardport er TCP 1433.

Hvis du bruger FirewallD , kan du bruge følgende kommandoer:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

Installer kommandolinjeværktøjer

Nu hvor du har installeret SQL Server, skal du bruge en slags værktøj til at oprette forbindelse til den.

Følgende trin vil få dig opsat med to SQL Server-kommandolinjeværktøjer:sqlcmd og bcp .

Download konfigurationsfilen til Microsoft Red Hat-lageret:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo

Hvis du har en tidligere version af mssql-tools installeret, vil følgende kode fjerne alle ældre unixODBC-pakker:

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

Hvis du ikke er sikker, kan du gå videre og køre det alligevel. Hvis mssql-tools ikke er installeret, får du muligvis en meddelelse som denne:

Updating Subscription Management repositories.
No match for argument: unixODBC-utf16
No match for argument: unixODBC-utf16-devel
No packages marked for removal.
Dependencies resolved.
Nothing to do.
Complete!

Nu kan du installere mssql-tools med unixODBC-udviklerpakken:

sudo yum install -y mssql-tools unixODBC-devel

Du bliver bedt om at acceptere licensbetingelserne to gange. Hvis du accepterer vilkårene, skal du indtaste YES ved begge lejligheder.

Tilføj til PATH

Du kan eventuelt tilføje /opt/mssql-tools/bin/ til din PATH miljøvariabel, så du kan køre værktøjerne uden at skulle angive den fulde sti.

For at lave sqlcmd/bcp tilgængelig fra bash-skallen til login-sessioner:

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

For at lave sqlcmd/bcp tilgængelig fra bash-skallen til interaktive/ikke-login-sessioner:

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

Opret forbindelse til SQL Server

Nu hvor SQL Server er installeret, og kommandolinjeværktøjerne også er installeret, kan vi bruge kommandolinjeværktøjerne til at oprette forbindelse til SQL Server.

Indtast følgende, men erstat <YourPassword> med din egen adgangskode:

sqlcmd -S localhost -U SA -P '<YourPassword>'

Alternativt kan du udelade -P '<YourPassword>' og du vil blive bedt om det i stedet.

For at oprette forbindelse til en ekstern instans skal du ændre localhost til maskinens navn eller IP-adresse, og sørg for at have port 1433 åben på firewallen.

Når du har oprettet forbindelse med succes, bør du se en prompt, der ser sådan ud:

1>

Herfra kan du bruge T-SQL til at oprette databaser, køre forespørgsler og mere.

Indtil nu skal du indtaste følgende kode for at kontrollere din version af SQL Server:

SELECT @@version
GO

Du burde se noget som dette:

Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)
Sep 23 2020 16:03:08
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Red Hat Enterprise Linux 8.3 (Ootpa))

En GUI-mulighed

Azure Data Studio er et GUI-værktøj, som du kan bruge til at administrere dine SQL Server-databaser, enten på din lokale maskine eller fjernbetjening.

Se Sådan installeres Azure Data Studio på Red Hat for installationsinstruktioner, inklusive skærmbilleder. Du kan installere det via GUI eller på kommandolinjen.

Hvis du er ny til SQL Server, så tjek også min SQL Server-tutorial på Quackit.


  1. Hovedanvendelse af sys.dm_os_wait_stats

  2. Sådan indstilles maxrecursion-indstillingen for en CTE inde i en Tabel-Valued-Function

  3. Er det muligt at bruge en variabel og ikke angive en returtype i postgreSQL?

  4. OdbcConnection returnerer kinesiske tegn som ?