SQLShack

Introduktion

Med et stigende antal nye servere, der kører på Linux, og endda en tredjedel af Microsofts virtuelle Azure-maskiner, der kører Linux, har de valgt at bringe SQL Server til Linux for at øge deres markedsandel og tiltrække nye kunder.

Microsoft er begyndt at gøre indhug uden for Windows-miljøer med forskellige produkter, såsom Office 365-apps til forskellige styresystemer til mobiltelefoner, såsom iOS og Android samt deres eget Windows Phone OS. Microsoft har oplyst, at de ønsker at levere en SQL Server på Ubuntu, Red Hat og SUSE, der føles, ser ud og fungerer ligesom Windows-versionen af SQL Server, hvor brugerne ikke skal kunne se forskellene mellem disse, i hvert fald fra front-end-perspektivet.

Ting at overveje

SQL Server på Linux er stadig meget ny, så inkonsekvent adfærd og delvist understøttede funktioner kan være tydelige, når man bruger den. Microsoft oplyste, at preview-versionen af SQL Server på Ubuntu, Red Hat, SUSE og Docker-motoren vil understøtte de grundlæggende funktioner som f.eks. de centrale databasemotor-komponenter, der understøtter transaktionsbehandling og datawarehousing. I øjeblikket er der, som Microsoft oplyser i deres release notes for SQL Server på Linux, selv i den seneste Community Tech Preview 2.0 (CTP 2.0), stadig mange funktioner, som ikke understøttes, så der er stadig arbejde at gøre på det område. Ikke desto mindre er det et stort skridt for Microsoft, og et skridt som mange DBA’er har set frem til.

Systemkrav

Microsoft har ikke oplyst de fulde systemkrav for at installere SQL Server på Ubuntu, Red Hat, SUSE og Docker engine, det eneste de har noteret er, at det kræver mere end 3,25 GB RAM. Nedenstående liste vil være de grundlæggende minimum systemhardware krav for at køre Ubuntu, justeret for RAM og HDD plads krav for at køre SQL Server på Ubuntu:
CPU: 700Mhz-processor (Intel Celeron eller bedre)
RAM: mindst 4 GB (Ubuntu har brug for mindst 512 MB)
HDD: mindst 5 GB for Ubuntu og yderligere mindst 3 GB for SQL Server

Installationsprocedure

SQL Server på Linux understøtter i øjeblikket et par Linux-distributioner, nemlig Red Hat, SUSE og Ubuntu, samt Docker engine.

I denne artikel vil vi installere SQL Server på Ubuntu, hvor den seneste version er 17.04 på tidspunktet for skrivning af denne artikel.

  1. Åbn først Terminal ved at klikke med højre museklik på skrivebordet og vælge Åbn Terminal.

    Alternativt kan du gå til startmenuen i øverste venstre hjørne, åbne den og klikke på Terminal for at åbne den.

  2. Når vi har åbnet Terminal, bliver vi mødt af et vindue, der ser ud som på billedet nedenfor.

  3. Det er her, at installationen finder sted. Først skal vi have importeret det offentlige repositoriums GPG-nøgler ved at indtaste følgende kommando:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  4. Brugeren skal indsætte kontoens adgangskode, før han/hun gennemfører trinnet.

  5. Herefter skal vi have Microsoft SQL Server’s Ubuntu-repository registreret. I dette trin som i det foregående skal brugeren indtaste kontoens adgangskode, før trinnet afsluttes (men kun hvis der er gået 15 minutter fra den sidste handling, da dette er Ubuntus funktion til kun at indtaste adgangskoden kun én gang i 15 minutter for at gøre arbejdsgangen lettere).

    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list

  6. Nu kan vi installere SQL Server på Ubuntu ved at indtaste følgende kommandoer:

    sudo apt-get update
    sudo apt-get install -y mssql-server

    Herved er pakken installeret. For at installere SQL Server fuldstændigt på Ubuntu skal vi køre mssql-conf-opsætningen og følge anvisningerne. Det anbefales også, at der oprettes en stærk adgangskode til oprettelsen af SA-konto (minimumslængde på 8 tegn, herunder både store og små bogstaver og base 10-cifre og/eller ikke-alfanumeriske symboler). For at fortsætte opsætningen skal du køre følgende kommando:

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

  7. Når installationen af SQL Server på Ubuntu er afsluttet, kan vi kontrollere, om tjenesten er startet og kører, ved at indtaste følgende kommando:

    systemctl status mssql-server

  8. Efter et stykke tid kan der blive frigivet en softwareopdatering, og det kan håndteres med et par linjer i Terminalen. Først er det nødvendigt at opdatere apt-get repository-listerne ved at køre nedenstående kommando og indtaste kontoens adgangskode.

    sudo apt-get update
    sudo /opt/mssql/bin/mssql-conf setup

  9. Efter opdatering af repository-listerne er det eneste, der er nødvendigt for at opdatere SQL-serveren, at køre ovenstående installationskommando, som opdaterer pakken mssql-server:

    sudo apt-get install mssql-server

    Når du kører disse kommandoer, vil du forsøge at hente den nyeste pakke, hvorefter du erstatter de opdaterede binære filer, der ligger under /opt/mssql. Ingen brugergenererede databaser eller systemdatabaser påvirkes af denne operation.

Installation af SQL Server Tools

Eventuelt kan brugerne installere SQL Server Tools på Ubuntu for at forbedre deres oplevelse. Pakken indeholder i øjeblikket kommandolinjeværktøjet til forespørgsler (sqlcmd) og værktøjet Bulk import export (bcp).

Installationen foretages også fra terminalen:

  1. Først er det nødvendigt at importere det offentlige repositories GPG-nøgler. Når du har kørt denne kommando, er det nødvendigt at indtaste kontoens adgangskode.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  2. Herefter er det nødvendigt at registrere Microsoft Ubuntu-repositoriet:

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

  3. Opdater kildelisten, og kør installationskommandoen med unixODBC-udviklerpakken:

    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-dev

  4. Når du har kørt den anden kommando, vil brugeren blive bedt om at tillade installationen

  5. Herefter skal brugeren acceptere licensbetingelserne

  6. For at sqlcmd- og bcp-kommandoerne kan få adgang til dem fra bash-shell, skal PATH ændres i ~/.bash_profile ved hjælp af kommandoen:

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

    For ikke-login- og interaktive sessioner skal PATH ændres i overensstemmelse hermed:

    echo ‘export PATH=”$PATH:/opt/mssqql-tools/bin”‘ >> ~/.bashrc
    source ~/.bashrc

  7. Når installationen er afsluttet, oprettes en testdatabase for at kontrollere funktionaliteten af SQL Server på Ubuntu.

  8. Når processen er afsluttet, startes den seneste SQL Server Management Studio, der er installeret på en Windows-maskine. Da Ubuntu-maskinen befinder sig i det lokale netværk, er IP-adressen 192.168.1.8. i dette tilfælde. Efter at have oprettet forbindelse med SQL Server-legitimationsoplysninger (da Windows-godkendelse ikke virker i dette tilfælde) kan det ses, at den database, vi netop har oprettet ved hjælp af sqlcmd-værktøjet i Linux Terminal, er oprettet, og at serveren kan nås.

Installation af SQL Server Agent

Ud over SQL Server Tools kan SQL Server Agent også installeres som en tilføjelse, efter at vi har installeret SQL Server på Ubuntu for at administrere og køre planlagte job.

  1. Opdater kildelisten og kør installationskommandoen, hvorefter terminalen vil bede om at genstarte SQL Server, for at Agenten kan starte.

    sudo apt-get update
    sudo apt-get install mssql-server-agent
    sudo systemctl restart mssql-server

    Herefter vises det ved at oprette forbindelse til serveren i SSMS, at SQL Server Agent kører.

Forsøgning af problemer

Problem

  • Kan ikke oprette forbindelse til SQL Server på Ubuntu fra SSMS

Løsninger

  • Kontroller, om serveren kører på Ubuntu-maskinen ved at køre kommandoen:

    sudo systemctl status mssql-server

    Hvis serveren ikke kører, kan den startes ved at køre kommandoen:

    sudo systemctl start mssql-server

    Herefter bør det se nogenlunde sådan ud, hvis du kører den foregående kommando igen:

  • Kontroller, at firewall’en har tilladt port 1433, som SQL Server bruger som standard. Først skal vi kontrollere status for ufw, som er Ubuntus ukomplicerede firewall, ved at køre følgende kommando og indtaste adgangskoden til kontoen:

    sudo ufw status

    • For at tillade en port gennem ufw skal du køre følgende kommando:

      sudo ufw allow 1433

Problem

  • Kan ikke oprette forbindelse til serveren med SA-konto

Løsning

  • Sådan nulstilles adgangskoden for systemadministratoren (SA):

    sudo ufw allow 1433

køre følgende kommandoer:

sudo systemctl stop mssql-server
sudo /opt/mssql/bin/mssql-conf setup

Bemærk, at dette midlertidigt vil stoppe SQL Server mssql-server-tjenesten.

  • Author
  • Recent Posts
Stefan Veselinovic
Support Sales Engineer hos ApexSQL
Stefan er kommet ind i elektronikkens verden i en tidlig alder, og har altid omgivet sig selv med noget at pille. Herefter er han også kommet ind i IT-verdenen. Han fik interesse for databasestyring, programmering og grafisk design. Han stræber efter at forbedre sig selv hver dag ved at lære og afprøve nye ting.
Stefan arbejder i øjeblikket hos ApexSQL LLC som software-salgsingeniør, hvor han specialiserer sig i databaseydelse og backup.

Stefan Veselinovic
Sidste indlæg af Stefan Veselinovic (se alle)
  • Sådan installerer du SQL Server på Ubuntu – 18. maj 2017

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.