SQLShack

Introduktion

Med ett ökande antal nya servrar som körs på Linux, och till och med en tredjedel av Microsofts virtuella Azure-maskiner som körs på Linux, har Microsoft valt att ta med SQL Server till Linux för att öka sin marknadsandel och locka nya kunder.

Microsoft har börjat göra inbrytningar utanför Windows-miljöer med olika produkter, till exempel Office 365-appar för olika operativsystem för mobiltelefoner, till exempel iOS och Android samt deras eget Windows Phone OS. Microsoft har uppgett att de vill leverera en SQL Server på Ubuntu, Red Hat och SUSE som känns, ser ut och fungerar precis som Windows-versionen av SQL Server, där användarna inte ska kunna se skillnaderna mellan dessa, åtminstone inte från front-end-perspektivet.

Saker att tänka på

SQL Server på Linux är fortfarande mycket ny, så inkonsekvent beteende och delvis stödda funktioner kan vara uppenbara när man använder den. Microsoft uppgav att förhandsversionen av SQL Server på Ubuntu, Red Hat, SUSE och Docker-motorn kommer att stödja de grundläggande funktionerna, t.ex. de centrala databasmotorkomponenterna som stöder transaktionsbehandling och datalagring. För tillfället, som Microsoft uppger i sina release notes för SQL Server på Linux, finns det även i den senaste Community Tech Preview 2.0 (CTP 2.0) fortfarande en hel del funktioner som inte stöds, så det finns fortfarande arbete att göra på det området. Trots detta är det ett stort steg för Microsoft och ett som många DBA:er har sett fram emot.

Systemkrav

Microsoft har inte angivit de fullständiga systemkraven för att installera SQL Server på Ubuntu, Red Hat, SUSE och Docker-motorn, det enda de noterat är att det krävs mer än 3,25 GB RAM. Nedan listas de grundläggande minimikraven på systemhårdvara för att köra Ubuntu, justerat för kraven på RAM- och hårddiskutrymme för att köra SQL Server på Ubuntu:
CPU: Processor: 700Mhz processor (Intel Celeron eller bättre)
RAM: minst 4GB (Ubuntu behöver minst 512MB)
HDD: minst 5GB för Ubuntu och ytterligare minst 3GB för SQL Server

Installationsprocedur

SQL Server på Linux har för närvarande stöd för ett par Linuxdistributioner, nämligen Red Hat, SUSE och Ubuntu, samt Docker-motorn.

I den här artikeln ska vi installera SQL Server på Ubuntu, den senaste versionen är 17.04 när den här artikeln skrivs.

  1. Öppna först Terminal genom att klicka med höger musklick på skrivbordet och välja Öppna Terminal.

    Alternativt kan du gå till startmenyn uppe till vänster, öppna den och klicka på Terminal för att öppna den.

  2. Efter att ha öppnat Terminalen möts vi av ett fönster som ser ut som i bilden nedan.

  3. Det är här installationen sker. Först måste vi få det offentliga arkivets GPG-nycklar importerade genom att ange följande kommando:

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

  4. Användaren måste sätta in kontolösenordet innan steget slutförs.

  5. Därefter måste vi få Microsoft SQL Servers Ubuntu-förråd registrerat. I det här steget liksom i föregående steg måste användaren ange kontolösenordet innan steget slutförs (men bara om 15 minuter från den senaste åtgärden har gått, eftersom detta är Ubuntus funktion att bara skriva in lösenordet endast en gång på 15 minuter för att underlätta arbetsflödet).

    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 installera SQL Server på Ubuntu genom att ange följande kommandon:

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

    Med detta är paketet installerat. För att fullständigt installera SQL Server på Ubuntu måste vi köra mssql-conf setup och följa uppmaningarna. Dessutom rekommenderas ett starkt lösenord för skapandet av SA-kontot (minsta längd på 8 tecken, inklusive både stora och små bokstäver och 10 siffror eller/och icke-alfanumeriska symboler). För att fortsätta installationen kör följande kommando:

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

  7. Efter att installationen av SQL Server på Ubuntu har slutförts kan vi kontrollera om tjänsten är startad och igång genom att köra följande kommando:

    systemctl status mssql-server

  8. Efter en tid kan en mjukvaruuppdatering släppas och det kan hanteras med några rader i terminalen. Först behövs det en uppdatering av apt-get repository-listorna genom att köra kommandot nedan och ange kontots lösenord.

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

  9. Efter att ha uppdaterat förvaringslistorna är det enda som behövs för att uppdatera SQL-servern att köra installationskommandot ovan, vilket uppdaterar paketet mssql-server:

    sudo apt-get install mssql-server

    När du kör dessa kommandon kommer du att försöka hämta det senaste paketet och därefter ersätta de uppdaterade binärfilerna som finns under /opt/mssql. Inga användargenererade databaser eller systemdatabaser påverkas av denna operation.

Installation av SQL Server Tools

Som ett alternativ kan användare installera SQL Server Tools på Ubuntu för att förbättra sin upplevelse. För närvarande innehåller paketet verktyget Command line query utility (sqlcmd) och Bulk import export utility (bcp).

Installationen görs också från terminalen:

  1. Först måste man importera det offentliga arkivets GPG-nycklar. Efter att ha kört detta kommando är det nödvändigt att mata in kontots lösenord.

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

  2. Därefter är det nödvändigt att registrera Microsoft Ubuntus förvaringsutrymme:

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

  3. Uppdatera källförteckningen och kör installationskommandot med utvecklarpaketet unixODBC:

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

  4. Efter att ha kört det andra kommandot, kommer användaren att uppmanas att tillåta installationen

  5. Därefter måste användaren acceptera licensvillkoren

  6. För att sqlcmd- och bcp-kommandona ska kunna nås från bash-skalet, PATH måste ändras i ~/.bash_profile med kommandot:

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

    För sessioner utan inloggning och interaktiva sessioner måste PATH ändras i enlighet med detta:

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

  7. Efter avslutad installation skapas en testdatabas för att kontrollera funktionaliteten hos SQL Server på Ubuntu.

  8. När processen är avslutad startas den senaste SQL Server Management Studio som installerats på en Windows-maskin. Eftersom Ubuntu-maskinen befinner sig i det lokala nätverket är IP-adressen 192.168.1.8. i det här fallet. Efter att ha anslutit med SQL Server-legitimationsuppgifter (eftersom Windows-autentisering inte fungerar i det här fallet) kan man se att den databas som vi just skapat med hjälp av sqlcmd-verktyget i Linux Terminal är skapad och att servern är nåbar.

Installation av SQL Server Agent

Utöver SQL Server Tools kan SQL Server Agent också installeras som ett tillägg efter att vi har installerat SQL Server på Ubuntu för att hantera och köra schemalagda jobb.

  1. Uppdatera källförteckningen och kör installationskommandot, varefter terminalen kommer att uppmana till omstart av SQL Server för att agenten ska kunna starta.

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

    Därefter visar anslutning till servern i SSMS att SQL Server Agent körs.

Felsökning

Problem

  • Kan inte ansluta till SQL Server på Ubuntu från SSMS

Lösningar

  • Kontrollera om servern körs på Ubuntu-maskinen genom att köra kommandot:

    sudo systemctl status mssql-server

    Om servern inte körs kan den startas genom att köra kommandot:

    sudo systemctl start mssql-server

    Därefter bör det se ut så här om du kör föregående kommando igen:

  • Kontrollera att brandväggen har tillåtit port 1433 som SQL Server använder som standard. Först måste vi kontrollera statusen för ufw, som är Ubuntus okomplicerade brandvägg, genom att köra följande kommando och ange lösenordet för kontot:

    sudo ufw status

    • För att tillåta en port genom ufw, kör följande kommando:

      sudo ufw allow 1433

Problem

  • Kan inte ansluta till servern med SA-kontot

Lösning

  • Återställ lösenordet för systemadministratören (SA), köra följande kommandon:

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

    Observera att detta tillfälligt stoppar tjänsten SQL Server mssql-server.

  • Author
  • Recent Posts
Stefan Veselinovic
Support Sales Engineer at ApexSQL
Stefan har kommit in i elektronikens värld i tidig ålder, och omger sig alltid med något att pyssla med. Efter det kom han också in i IT-världen. Han blev intresserad av databashantering, programmering och grafisk design. Han strävar efter att förbättra sig varje dag genom att lära sig och testa nya saker.
Stefan arbetar för närvarande på ApexSQL LLC som försäljningsingenjör för programvara där han specialiserar sig på databasprestanda och säkerhetskopiering.

Stefan Veselinovic
Senaste inlägg av Stefan Veselinovic (se alla)
  • Hur man installerar SQL Server på Ubuntu – 18 maj 2017

Lämna ett svar

Din e-postadress kommer inte publiceras.