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.
- Instale el software de virtualización en su máquina Ubuntu (VMWare, Xen, VirtualBox).
- Instale Microsoft Windows Server en la máquina virtual.
- 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.
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.