Respuestas:
Ciertamente puede probar el enfoque que resumiré a continuación, pero no sé si alguien lo ha probado con éxito.
No sé si alguna otra forma funcionaría, pero la gente puede corregirme el servidor MS SQL de lo que puedo recordar en realidad se basa en las licencias para Microsoft Windows Server. Además de esto, SQLServer es una fuente de recursos bastante mala, por lo que normalmente las organizaciones intentan segregarlo para que no se ejecute con otras aplicaciones 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
, lo que sería idéntico al software de su cliente.
Sí, a finales de noviembre de 2016, y según docs.microsoft.com , puede instalar la vista previa pública de sql-server vNext CTP1 en Ubuntu 16.04 (no funciona en 14.04 porque el paquete OpenSSL está desactualizado y no funciona) 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 eliminarlo
sudo apt-get remove --purge mssql-server
Para eliminar las bases de datos generadas
sudo rm -rf /var/opt/mssql/
Si desea verificar si funciona o no, no olvide apagar el firewall
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 el 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 (puerto predeterminado del servidor sql)
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
Consulte también persistencia de firewall y this
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 demasiado viejo / openssl demasiado nuevo / distro no compatible), siempre puede usar la imagen del acoplador:
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 la ventana acoplable, extrae la última imagen docker-linux-SQL-Server-2017 de Internet, y asigna el puerto 1433 en el contenedor al puerto 2017 en el host, y establece la licencia en "Desarrollador", la contraseña sa a 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 detener el contenedor 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 github e instalarlo consudo dpkg -i azuredatastudio-linux-1.12.2.deb
sqlcmd
funcione después de instalar mssql-tools askubuntu.com/a/870928/8151