Saltar al contenido

¿Puedo ejecutar SQL Server en Ubuntu?

Nuestros mejores investigadores han agotado sus provisiones de café, en su búsqueda noche y día por la respuesta, hasta que Mario halló el resultado en GitHub por lo tanto en este momento la compartimos aquí.

Solución:

Ciertamente puede probar el enfoque que describiré a continuación, pero no sé si alguien lo ha probado con éxito.

  1. Instale el software de virtualización en su máquina Ubuntu (VMWare, Xen, VirtualBox).
  2. Instale Microsoft Windows Server en la máquina virtual.
  3. Instale MS SQL Server en el servidor Windows recién instalado.

No sé si funcionaría de otra manera, pero la gente puede corregirme. El servidor MS SQL de lo que recuerdo se basa en las licencias para Microsoft Windows Server. Además de esto, SQLServer es un acaparador de recursos bastante malo, por lo que normalmente las organizaciones intentan separarlo de la ejecución con cualquier otra aplicación en su propio clúster o servidor.

Una cosa que me preguntaría es por qué no probar Sybase como backend. La conectividad de Linux a SQLServer y Sybase puede pasar FreeTDS, que se vería idéntico al software de su cliente.

ADVERTENCIA: ABRAZAR – EXTENDER – BAJAR ?

Sí, a finales de noviembre de 2016, y según docs.microsoft.com, puede instalar la versión preliminar pública de sql-server vNext CTP1 en Ubuntu 16.04 (no funciona en 14.04 porque el paquete OpenSSL está desactualizado y no no funciona en 19.04 porque el paquete OpenSSL es demasiado nuevo):

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 mas nuevo

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

Para quitarlo

sudo apt-get remove --purge mssql-server

Para eliminar las bases de datos generadas

sudo rm -rf /var/opt/mssql/

Si quieres comprobar si funciona o no, no olvides apagar el cortafuegos.

iptables -F
iptables -P INPUT ACCEPT  

Puede iniciar SQL-Server con:

systemctl start mssql-server

Puede detener SQL-Server con:

systemctl stop mssql-server

Para ver su estado:

systemctl status mssql-server

Para iniciar sql-server en el momento del arranque:

systemctl enable mssql-server

Para deshabilitar SQL-Server-start en el momento del arranque:

systemctl disable mssql-server

Y si también quieres las herramientas de línea de comandos

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

Para probarlo

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

Y para abrir permanentemente el puerto 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 si usa ufw, puede hacer lo mismo escribiendo menos con

ufw allow 1433/tcp

Vea también persistencia de firewall y esto

Para Red Hat (firewalld):

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

Si no desea trabajar con herramientas de línea de comandos, puede conectarse con SSMS desde una computadora portátil con Windows.

SSMS


Si no puede usar sql-server en su distribución (openssl es demasiado antiguo / openssl demasiado nuevo / la distribución no es compatible), siempre puede usar la imagen de la ventana acoplable:

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

que instala docker, extrae la última imagen de SQL-Server-2017 docker-linux-image de Internet y asigna el puerto 1433 en el contenedor al puerto 2017 en el host, y establece la licencia en “Desarrollador”, la sa-Password en TOP_SECRET y también asigna / var / opt / mssql en el contenedor a / var / opt / mssql en el host. Puede que tenga que crear esa carpeta con mkdir -p /var/opt/mssql.

A partir de ahí, puede iniciar el contenedor con docker start mssql_2017 y detenga el recipiente con docker stop mssql_2017.

Para trabajar gráficamente con sql-server en Linux, puede usar AzureDataStudio, descargar el paquete deb de su página de github e instalarlo con sudo dpkg -i azuredatastudio-linux-1.12.2.deb

Reseñas y valoraciones

Si te animas, eres capaz de dejar un enunciado acerca de qué le añadirías a esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *