WARNUNG:UMARMEN - AUSDEHNEN - FALLEN LASSEN  ?

WARNUNG:UMARMEN - AUSDEHNEN - FALLEN LASSEN  ?

Meine Firma entwickelt Software mit zwei Seiten: Client und Server. Ich habe Microsoft SQL Server unter Windows installiert und führe die Clientseite mit einigen Konfigurationen unter Ubuntu aus.

Aber ich frage mich: Gibt es eine Möglichkeit, stattdessen Ubuntu als Server auszuführen und SQL Server darauf zu installieren?

Antwort1

Sie können sicherlich den Ansatz ausprobieren, den ich im Folgenden beschreibe, aber ich weiß nicht, ob jemand ihn erfolgreich ausprobiert hat.

  1. Installieren Sie Virtualisierungssoftware auf Ihrem Ubuntu-Computer (VMWare, Xen, VirtualBox).
  2. Installieren Sie Microsoft Windows Server in der virtuellen Maschine.
  3. Installieren Sie MS SQL Server auf dem neu installierten Windows Server.

Ich weiß nicht, ob es anders funktionieren würde, aber die Leute können mich korrigieren: Soweit ich mich erinnere, basiert MS SQL Server tatsächlich auf der Lizenzierung für Microsoft Windows Server. Darüber hinaus ist SQL Server ein ziemlicher Ressourcenfresser, daher versuchen Organisationen normalerweise, ihn von der Ausführung mit anderen Anwendungen auf seinem eigenen Cluster oder Server zu trennen.

Eine Sache, die ich in Frage stelle, ist, warum Sie nicht Sybase als Backend ausprobieren? Die Verbindung von Linux zu SQLServer und Sybase kann über erfolgen FreeTDS, was mit Ihrer Client-Software identisch aussehen würde.

Antwort2

WARNUNG:UMARMEN - AUSDEHNEN - FALLEN LASSEN  ?

Ja, per Ende November 2016 und perdocs.microsoft.comkönnen Sie die öffentliche Vorschau von SQL-Server vNext CTP1 auf Ubuntu 16.04 installieren (funktioniert nicht auf 14.04, da das OpenSSL-Paket veraltet ist, und funktioniert nicht auf 19.04, da das OpenSSL-Paket zu neu ist):

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/sqlservr-setup

oder neuer

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

Es zu entfernen

sudo apt-get remove --purge mssql-server

So entfernen Sie die generierten Datenbanken

sudo rm -rf /var/opt/mssql/

Wenn Sie überprüfen möchten, ob es funktioniert oder nicht, vergessen Sie nicht, die Firewall auszuschalten

iptables -F
iptables -P INPUT ACCEPT  

Sie können SQL-Server starten mit:

systemctl start mssql-server

Sie können SQL-Server wie folgt stoppen:

systemctl stop mssql-server

So zeigen Sie den Status an:

systemctl status mssql-server

So starten Sie den SQL-Server beim Booten:

systemctl enable mssql-server

So deaktivieren Sie den SQL-Server-Start beim Booten:

systemctl disable mssql-server

Und wenn Sie auch dieKommandozeilen-Tools

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update 
sudo apt-get install mssql-tools

Um es zu testen

sqlcmd -S localhost -U SA -P 'YourPasswordHere'
CREATE DATABASE contoso
exit

Und um Port 1433 (SQL-Server-Standardport) dauerhaft zu öffnen

iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

oder wenn Sie ufw verwenden, können Sie dasselbe tun, indem Sie less eingeben mit

ufw allow 1433/tcp

Siehe auchFirewall-PersistenzUndDas

Für Red Hat (Firewalld):

firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload

Wenn Sie nicht mit Befehlszeilentools arbeiten möchten, können Sie von einem Windows-Laptop aus eine Verbindung mit SSMS herstellen.

SSMS


Wenn Sie SQL Server auf Ihrer Distribution nicht verwenden können (OpenSSL zu alt / OpenSSL zu neu / Distribution wird nicht unterstützt), können Sie immer das Docker-Image verwenden:

sudo apt-get install docker.io 
docker pull mcr.microsoft.com/mssql/server:2017-latest

docker run -d -p 2017:1433 --name mssql_2017 -e MSSQL_SA_PASSWORD =TOP_SECRET -e ACCEPT_EULA=Y  -e MSSQL_PID="Developer" -v /var/opt/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

das installiert Docker, zieht das neueste SQL-Server-2017 Docker-Linux-Image aus dem Internet und ordnet Port 1433 im Container Port 2017 im Host zu, setzt die Lizenz auf „Developer“, das sa-Passwort auf TOP_SECRET und ordnet /var/opt/mssql im Container /var/opt/mssql auf dem Host zu. Möglicherweise müssen Sie diesen Ordner mit erstellen mkdir -p /var/opt/mssql.

Von dort aus können Sie den Container mit starten docker start mssql_2017und mit stoppen docker stop mssql_2017.

Um grafisch mit SQL Server unter Linux zu arbeiten, können Sie verwendenAzureDataStudio, laden Sie dieDeb-Paketvon der GitHub-Seite und installieren Sie es mitsudo dpkg -i azuredatastudio-linux-1.12.2.deb

verwandte Informationen