Inleiding
Met een toenemend aantal nieuwe servers die op Linux draaien, en zelfs een derde van Microsoft’s Azure virtuele machines die op Linux draaien, hebben ze de keuze gemaakt om SQL Server naar Linux te brengen om hun marktaandeel te vergroten en nieuwe klanten aan te trekken.
Microsoft is begonnen met het maken van inbraken buiten Windows-omgevingen met verschillende producten, zoals Office 365-apps voor verschillende mobiele telefoonbesturingssystemen, zoals iOS en Android, evenals hun eigen Windows Phone OS. Microsoft heeft verklaard dat ze een SQL Server op Ubuntu, Red Hat en SUSE willen leveren die net zo aanvoelt, eruitziet en presteert als de Windows-versie van de SQL Server, waarbij gebruikers niet in staat zouden moeten zijn om de verschillen tussen die te zien, althans vanuit het front-end perspectief.
Dingen om te overwegen
SQL Server op Linux is nog erg nieuw, dus inconsistent gedrag en gedeeltelijk ondersteunde functies kunnen duidelijk zijn bij het gebruik ervan. Microsoft verklaarde dat de preview versie van SQL Server op Ubuntu, Red Hat, SUSE en Docker engine de basis mogelijkheden zal ondersteunen zoals de core database engine componenten die transactionele verwerking en data warehousing ondersteunen. Op dit moment, zoals vermeld door Microsoft in hun release notes voor SQL Server op Linux, zijn er zelfs in de laatste Community Tech Preview 2.0 (CTP 2.0) nog een heleboel functies die niet worden ondersteund, dus er is nog werk aan de winkel op dat gebied. Desalniettemin is het een grote stap voor Microsoft, en een waar veel DBA’s naar hebben uitgekeken.
Systeemeisen
Microsoft heeft niet de volledige systeemeisen vermeld om SQL Server te installeren op Ubuntu, Red Hat, SUSE en Docker engine, het enige wat ze hebben opgemerkt is dat het meer dan 3,25 GB RAM vereist. Hieronder vindt u de basis minimum systeem hardware vereisten om Ubuntu te draaien, aangepast voor de RAM en HDD ruimte vereisten om SQL Server op Ubuntu te draaien:
CPU: 700Mhz processor (Intel Celeron of beter)
RAM: minimaal 4GB (Ubuntu heeft minimaal 512MB nodig)
HDD: 5GB voor Ubuntu en minimaal 3GB extra voor SQL Server
Installatieprocedure
SQL Server op Linux ondersteunt momenteel een aantal Linux-distributies, te weten Red Hat, SUSE en Ubuntu, alsmede Docker engine.
Voor dit artikel gaan we SQL Server installeren op Ubuntu, de nieuwste versie is 17.04 op het moment van schrijven van dit artikel.
-
Open eerst Terminal door met de rechtermuisknop op het bureaublad te klikken en Open Terminal te selecteren.
Als alternatief kunt u ook naar het startmenu linksboven gaan, dit openen en Terminal aanklikken om het te openen.
-
Na het openen van de Terminal, worden we begroet met een venster dat eruit ziet als in de afbeelding hieronder.
-
Het is hier waar de installatie plaatsvindt. Eerst moeten we de GPG-sleutels van de publieke repository laten importeren door het volgende commando in te voeren:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
-
De gebruiker moet het wachtwoord van de account invoeren voordat de stap wordt voltooid.
-
Daarna moeten we de Microsoft SQL Server’s Ubuntu repository geregistreerd hebben. In deze stap, net als in de vorige, moet de gebruiker het wachtwoord van de account invoeren voordat hij de stap kan voltooien (maar alleen als er 15 minuten vanaf de laatste actie zijn verstreken, aangezien dit Ubuntu’s functie is om het wachtwoord slechts eenmaal in 15 minuten in te voeren om de workflow te vergemakkelijken).
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
-
Nu kunnen we SQL Server installeren op Ubuntu door de volgende commando’s in te voeren:
sudo apt-get update
sudo apt-get install -y mssql-serverHiermee is het pakket geïnstalleerd. Om SQL Server volledig te installeren op Ubuntu moeten we de mssql-conf setup uitvoeren en de prompts volgen. Ook wordt een sterk wachtwoord aangeraden voor het aanmaken van een SA account (Minimale lengte van 8 karakters, inclusief hoofdletters en kleine letters en basis 10 cijfers of/en niet-alfanumerieke symbolen). Om verder te gaan met de setup voert u het volgende commando uit:
sudo /opt/mssql/bin/mssql-conf setup
-
Nadat de installatie van SQL Server op Ubuntu is voltooid, kunnen we controleren of de service is gestart en draait door het volgende commando in te voeren:
systemctl status mssql-server
-
Na enige tijd kan een software-update worden uitgebracht en dat kan worden afgehandeld met een paar regels in de Terminal. Eerst moeten de apt-get repository lijsten worden bijgewerkt door het onderstaande commando uit te voeren en het wachtwoord van de account in te voeren.
sudo apt-get update
sudo /opt/mssql/bin/mssql-conf setup -
Na het updaten van de repository lijsten, is het enige dat nodig is om de SQL Server te updaten het bovenstaande installatie commando uit te voeren dat het mssql-server pakket zal updaten:
sudo apt-get install mssql-server
Het uitvoeren van deze commando’s zal proberen om het laatste pakket te downloaden, om daarna de bijgewerkte binaries te vervangen die zich bevinden onder /opt/mssql. Deze operatie heeft geen invloed op door gebruikers gemaakte databases of systeemdatabases.
Installatie van SQL Server Tools
Optioneel kunnen gebruikers SQL Server Tools installeren op Ubuntu om hun ervaring te verbeteren. Momenteel bevat het pakket het hulpprogramma voor commando-regel query’s (sqlcmd) en het hulpprogramma voor bulkimport-export (bcp).
De installatie wordt ook gedaan vanaf de Terminal:
-
Eerst is het nodig om de GPG-sleutels van de publieke repository te importeren. Na het uitvoeren van dit commando, is het noodzakelijk om het wachtwoord van de account in te voeren.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
-
Daarna is het nodig om de Microsoft Ubuntu repository te registreren:
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
-
Werk de bronnenlijst bij en voer het installatiecommando uit met het ontwikkelaarspakket unixODBC:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev -
Na het uitvoeren van het tweede commando, zal de gebruiker gevraagd worden om de installatie toe te staan
-
Waarna de gebruiker de licentievoorwaarden zal moeten aanvaarden
-
Om de commando’s sqlcmd en bcp vanuit de bash-shell te kunnen benaderen, moet PATH worden gewijzigd in ~/.bash_profile met het commando:
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bash_profile
Voor niet-login en interactieve sessies moet het PATH dienovereenkomstig worden aangepast:
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
source ~/.bashrc -
Na het voltooien van de installatie wordt een testdatabase aangemaakt om de functionaliteit van de SQL Server op Ubuntu te controleren.
-
Als het proces is voltooid, wordt de nieuwste SQL Server Management Studio, die op een Windows-machine is geïnstalleerd, opgestart. Aangezien de Ubuntu machine zich in het lokale netwerk bevindt, is het IP adres 192.168.1.8. in dit geval. Na verbinding te hebben gemaakt met SQL Server credentials (aangezien Windows authenticatie in dit geval niet werkt), is te zien dat de database die we zojuist hebben aangemaakt met sqlcmd tool in Linux Terminal is aangemaakt en dat de server bereikbaar is.
Installatie van SQL Server Agent
Naast SQL Server Tools kan SQL Server Agent ook als toevoeging worden geïnstalleerd nadat we SQL Server op Ubuntu hebben geïnstalleerd om geplande taken te beheren en uit te voeren.
-
Werk de bronnenlijst bij en voer het installatiecommando uit, waarna de Terminal zal vragen om de SQL Server opnieuw op te starten om de Agent te kunnen starten.
sudo apt-get update
sudo apt-get install mssql-server-agent
sudo systemctl restart mssql-serverDaarna is bij het verbinden met de server in SSMS te zien dat de SQL Server Agent wordt uitgevoerd.
Troubleshooting
Probleem
-
Kan geen verbinding maken met de SQL Server op Ubuntu vanuit SSMS
Oplossingen
-
Controleer of de server draait op de Ubuntu-machine door het commando uit te voeren:
sudo systemctl status mssql-server
Als de server niet draait, kan hij worden gestart door het commando uit te voeren:
sudo systemctl start mssql-server
Waarna het opnieuw uitvoeren van het vorige commando er ongeveer zo uit zou moeten zien:
-
Controleer of de firewall de poort 1433, die SQL Server standaard gebruikt, heeft toegestaan. Eerst moeten we de status van de ufw, dat is Ubuntu’s Ongecompliceerde Firewall, controleren door het volgende commando uit te voeren en het wachtwoord voor de account in te voeren:
sudo ufw status
-
Om een poort door de ufw toe te staan, voert u het volgende commando uit:
sudo ufw allow 1433
-
Probleem
- Kan geen verbinding maken met de server met behulp van SA-account
Oplossing
-
Om het wachtwoord van de systeembeheerder (SA) opnieuw in te stellen, voert u de volgende opdrachten uit:
sudo systemctl stop mssql-server
sudo /opt/mssql/bin/mssql-conf setupHoud er rekening mee dat hierdoor de SQL Server mssql-server service tijdelijk wordt gestopt.
- Auteur
- Recent Posts
Stefan werkt momenteel bij ApexSQL LLC als Software sales engineer waar hij zich specialiseert in database performance en backup.
- Hoe SQL Server op Ubuntu te installeren – 18 mei 2017