SQLShack

Úvod

S rostoucím počtem nových serverů běžících na Linuxu a dokonce s třetinou virtuálních počítačů Azure společnosti Microsoft běžících na Linuxu se společnost rozhodla přinést SQL Server na Linux, aby zvýšila svůj podíl na trhu a přilákala nové zákazníky.

Microsoft se začal prosazovat i mimo prostředí Windows s různými produkty, jako jsou aplikace Office 365 pro různé operační systémy mobilních telefonů, například iOS a Android, a také vlastní operační systém Windows Phone. Společnost Microsoft uvedla, že chce dodat SQL Server v systémech Ubuntu, Red Hat a SUSE, který bude působit, vypadat a fungovat stejně jako verze SQL Serveru pro Windows, přičemž uživatelé by mezi nimi neměli vidět rozdíly, alespoň z pohledu front-endu.

Věci, které je třeba vzít v úvahu

SQL Server v Linuxu je stále velmi nový, takže se při jeho používání může projevit nekonzistentní chování a částečně podporované funkce. Microsoft uvedl, že preview verze SQL Serveru na Ubuntu, Red Hat, SUSE a Docker engine bude podporovat základní funkce, jako jsou základní komponenty databázového stroje, které podporují transakční zpracování a datové sklady. V současné době, jak uvádí společnost Microsoft ve svých poznámkách k vydání SQL Serveru na Linuxu, i v nejnovější verzi Community Tech Preview 2.0 (CTP 2.0) je stále mnoho funkcí, které nejsou podporovány, takže v této oblasti je třeba ještě zapracovat. Přesto je to pro Microsoft velký krok, na který se těšilo mnoho DBA.

Systémové požadavky

Microsoft neuvedl úplné systémové požadavky pro instalaci SQL Serveru na Ubuntu, Red Hat, SUSE a Docker engine, jediné, co poznamenal, je, že vyžaduje více než 3,25 GB RAM. Níže budou uvedeny základní minimální systémové hardwarové požadavky pro provoz Ubuntu, upravené o požadavky na paměť RAM a prostor na pevném disku pro provoz SQL Serveru v Ubuntu:
CPU:
RAM: minimálně 4 GB (Ubuntu potřebuje minimálně 512 MB)
HDD: minimálně 5 GB pro Ubuntu a další 3 GB pro SQL Server

Postup instalace

SQL Server v Linuxu v současné době podporuje několik distribucí Linuxu, kterými jsou Red Hat, SUSE a Ubuntu, a také engine Docker.

V tomto článku budeme instalovat SQL Server na Ubuntu, jehož nejnovější verze je v době psaní tohoto článku 17.04.

  1. Nejprve otevřete Terminál kliknutím pravým tlačítkem myši na ploše a výběrem možnosti Otevřít Terminál.

    Případně můžete přejít do nabídky Start v levém horním rohu, otevřít ji a kliknutím na Terminál jej otevřít.

  2. Po otevření Terminálu nás přivítá okno, které vypadá jako na obrázku níže:

  3. Právě zde probíhá instalace. Nejprve musíme nechat importovat klíče GPG veřejného úložiště zadáním následujícího příkazu:

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

  4. Před dokončením kroku musí uživatel vložit heslo k účtu.

  5. Poté musíme mít zaregistrovaný repozitář Microsoft SQL Server v Ubuntu. V tomto kroku, stejně jako v předchozím, musí uživatel před dokončením kroku zadat heslo k účtu (ale pouze v případě, že uplynulo 15 minut od poslední akce, protože se jedná o funkci Ubuntu zadávat heslo pouze jednou za 15 minut, aby se usnadnil průběh práce).

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

  6. Nyní můžeme nainstalovat SQL Server v Ubuntu zadáním následujících příkazů:

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

    Tím je balíček nainstalován. Pro kompletní instalaci SQL Serveru v Ubuntu musíme spustit instalaci mssql-conf a postupovat podle pokynů. Doporučuje se také silné heslo pro vytvoření účtu SA (Minimální délka 8 znaků, včetně velkých i malých písmen a číslic nebo/i nealfanumerických symbolů se základem 10). Pro pokračování v instalaci spusťte následující příkaz:

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

  7. Po dokončení instalace SQL Serveru v Ubuntu můžeme zkontrolovat, zda je služba spuštěna a funguje, zadáním následujícího příkazu:

    systemctl status mssql-server

  8. Po nějaké době může být vydána aktualizace softwaru, kterou lze vyřídit pomocí několika řádků v Terminálu. Nejprve je třeba aktualizovat seznamy úložišť apt-get spuštěním níže uvedeného příkazu a zadáním hesla účtu.

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

  9. Po aktualizaci seznamů úložišť stačí k aktualizaci SQL Serveru spustit výše uvedený instalační příkaz, který aktualizuje balíček mssql-server:

    sudo apt-get install mssql-server

    Spuštění těchto příkazů se pokusí stáhnout nejnovější balíček a poté nahradí aktualizované binární soubory, které se nacházejí v adresáři /opt/mssql. Touto operací nejsou ovlivněny žádné uživatelské ani systémové databáze.

Instalace nástrojů SQL Serveru

Volitelně mohou uživatelé nainstalovat nástroje SQL Serveru v Ubuntu a zlepšit tak své zkušenosti. V současné době balíček obsahuje nástroj pro dotazování z příkazového řádku (sqlcmd) a nástroj pro hromadný import a export (bcp).

Instalace se provádí také z terminálu:

  1. Nejprve je třeba importovat klíče GPG veřejného úložiště. Po spuštění tohoto příkazu je nutné zadat heslo účtu.

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

  2. Poté je třeba zaregistrovat úložiště Microsoft Ubuntu:

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

  3. Aktualizujte seznam zdrojů a spusťte instalační příkaz s vývojovým balíčkem unixODBC:

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

  4. Po spuštění druhého příkazu, bude uživatel vyzván k povolení instalace

  5. Poté bude muset uživatel přijmout licenční podmínky

  6. Aby příkazy sqlcmd a bcp byly přístupné z bash shellu, je třeba upravit PATH v ~/.bash_profile pomocí příkazu:

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

    Pro nepřihlašovací a interaktivní relace je třeba odpovídajícím způsobem upravit PATH:

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

  7. Po dokončení instalace se vytvoří testovací databáze pro ověření funkčnosti SQL Serveru v Ubuntu.

  8. Po dokončení procesu se spustí nejnovější SQL Server Management Studio nainstalované na počítači se systémem Windows. Vzhledem k tomu, že počítač Ubuntu je v místní síti, je v tomto případě IP adresa 192.168.1.8.. Po připojení s přihlašovacími údaji SQL Serveru (protože ověřování Windows v tomto případě nefunguje) je vidět, že databáze, kterou jsme právě vytvořili pomocí nástroje sqlcmd v terminálu Linux, je vytvořena a server je dosažitelný.

Instalace agenta SQL Serveru

Kromě nástrojů SQL Serveru lze po instalaci SQL Serveru v Ubuntu jako doplněk nainstalovat také agenta SQL Serveru, který slouží ke správě a spouštění naplánovaných úloh.

  1. Aktualizujte seznam zdrojů a spusťte instalační příkaz, po kterém Terminál vyzve k restartování SQL Serveru, aby bylo možné Agenta spustit.

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

    Poté se po připojení k serveru v SSMS zobrazí, že Agent SQL Serveru běží.

Řešení problémů

Problém

  • Nelze se připojit k SQL Serveru v Ubuntu ze systému SSMS

Řešení

  • Spuštěním příkazu ověřte, zda server na počítači s Ubuntu běží:

    sudo systemctl status mssql-server

    Pokud server neběží, lze jej spustit příkazem:

    sudo systemctl start mssql-server

    Poté by opětovné spuštění předchozího příkazu mělo vypadat nějak takto:

  • Ověřte, zda firewall povolil port 1433, který SQL Server standardně používá. Nejprve musíme zkontrolovat stav ufw, což je nekomplikovaný firewall Ubuntu, spuštěním následujícího příkazu a zadáním hesla k účtu:

    sudo ufw status

    • Pro povolení portu přes ufw spusťte následující příkaz:

      sudo ufw allow 1433

Problém

  • Nelze se připojit k serveru pomocí účtu SA

Řešení

  • Chcete-li obnovit heslo správce systému (SA), spusťte následující příkazy:

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

    Vezměte na vědomí, že se tím dočasně zastaví služba SQL Server mssql-server.

  • Autor
  • Poslední příspěvky
Stefan Veselinovic
Inženýr podpory prodeje ve společnosti ApexSQL
Stefan se dostal do světa elektroniky již v raném věku, Vždy se obklopoval něčím, v čem se mohl vrtat. Poté se dostal i do světa IT. Začal se zajímat o správu databází, programování a grafický design. Každý den se snaží zdokonalovat tím, že se učí a zkouší nové věci.
Stefan v současné době pracuje ve společnosti ApexSQL LLC jako inženýr prodeje softwaru, kde se specializuje na výkon databází a zálohování.

Stefan Veselinovic
Nejnovější příspěvky od Stefana Veselinovice (zobrazit všechny)
  • Jak nainstalovat SQL Server na Ubuntu – 18. května 2017

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.