Posso eseguire SQL Server su Ubuntu?


10

La mia azienda sviluppa software con due lati: client e server. Ho installato Microsoft SQL Server su Windows e sto eseguendo il lato client su Ubuntu con alcune configurazioni.

Ma mi chiedo: c'è un modo per eseguire Ubuntu come server e installare SQL Server su di esso?

Risposte:


9

Puoi certamente provare l'approccio che tratterò di seguito, ma non so se qualcuno lo abbia provato con successo.

  1. Installa il software di virtualizzazione sul tuo computer Ubuntu (VMWare, Xen, VirtualBox).
  2. Installa Microsoft Windows Server nella macchina virtuale.
  3. Installa MS SQL Server sul Windows Server appena installato.

Non so se un altro modo funzionerebbe, ma le persone possono correggermi da MS SQL Server da quello che ricordo in realtà si basa sulle licenze per Microsoft Windows Server. In cima a questo SQL Server c'è un pessimo porco di risorse, quindi normalmente le organizzazioni cercano di separarlo dall'esecuzione con qualsiasi altra applicazione sul proprio cluster o server.

Una cosa che vorrei mettere in discussione è perché non provare Sybase come backend? La connettività da Linux a SQL Server e Sybase può passare FreeTDS, che sembrerebbe identica al software client.


1
Bene, questa risposta alla mia domanda, grazie. Non gestisco il database qui abbiamo un sacco di programmatori, sto lavorando sul lato client e installiamo sia server che client. Attualmente sto virtuallizzando un Ubuntu sul mio computer Windows per eseguire un sacco di test per vedere se Ubuntu funzionerebbe. Con il cliente sì. Sul server .... non così bene, dal momento che SQL non funzionerebbe mai su Linux. Grazie per la risposta
giullare

1
@Karlson: usato per essere vero, ma ora obsoleto, alla fine di novembre 2016.
WitchCraft,

Questo URL potrebbe sembrare una fiaba allora docs.microsoft.com/en-us/sql/linux/…
Asim

5

ATTENZIONE: EMBRACE - EXTEND - DROP   ?

Sì, a fine novembre 2016 e come da docs.microsoft.com , è possibile installare l'anteprima pubblica di sql-server vNext CTP1 su Ubuntu 16.04 (non funziona su 14.04 perché il pacchetto OpenSSL è obsoleto e non funziona su 19.04 perché il pacchetto OpenSSL è troppo nuovo):

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

o più recenti

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

Per rimuoverlo

sudo apt-get remove --purge mssql-server

Per rimuovere i database generati

sudo rm -rf /var/opt/mssql/

Se si desidera verificare se funziona o meno, non dimenticare di disattivare il firewall

iptables -F
iptables -P INPUT ACCEPT  

È possibile avviare SQL Server con:

systemctl start mssql-server

È possibile interrompere SQL Server con:

systemctl stop mssql-server

Per vedere il suo stato:

systemctl status mssql-server

Per avviare sql-server all'avvio:

systemctl enable mssql-server

Per disabilitare SQL-Server-start all'avvio:

systemctl disable mssql-server

E se vuoi anche gli strumenti da riga di comando

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

Per testarlo

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

E per aprire permanentemente la porta 1433 (sql-server default-port)

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

o se usi ufw, puoi fare lo stesso digitando meno con

ufw allow 1433/tcp

Vedi anche persistenza del firewall e questo

Per Red Hat (firewalld):

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

Se non si desidera lavorare con gli strumenti da riga di comando, è possibile connettersi con SSMS da un laptop Windows.

SSMS


Se non puoi usare sql-server sulla tua distribuzione (openssl troppo vecchio / openssl troppo nuovo / distro non supportato), puoi sempre usare l'immagine docker:

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

che installa la finestra mobile, estrae l'immagine docker-linux-SQL SQL Server 2017 più recente e mappa la porta 1433 nel contenitore sulla porta 2017 dell'host e imposta la licenza su "Sviluppatore", la password sa su TOP_SECRET e inoltre mappa / var / opt / mssql sul contenitore su / var / opt / mssql sull'host. Potrebbe essere necessario creare quella cartella con mkdir -p /var/opt/mssql.

Da lì in poi, è possibile avviare il contenitore con docker start mssql_2017e arrestare il contenitore con docker stop mssql_2017.

Per lavorare graficamente con sql-server su Linux, è possibile usare AzureDataStudio , scaricare il pacchetto deb dalla sua pagina github e installarlo consudo dpkg -i azuredatastudio-linux-1.12.2.deb



Potrebbe essere necessario creare un collegamento simbolico per sqlcmdfunzionare dopo l'installazione di mssql
Niroshan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.