Answers:
您当然可以尝试我将在下面概述的方法,但是我不知道是否有人尝试成功。
我不知道是否有其他方法可以工作,但是人们可以根据我记得的实际情况来纠正我的MS SQL Server,这实际上取决于Microsoft Windows Server的许可。在此SQLServer之上是一个非常糟糕的资源消耗,因此通常组织会尝试将其与自己的群集或服务器上的任何其他应用程序隔离运行。
我要问的一件事是,为什么不尝试将Sybase作为后端?从Linux到SQLServer和Sybase的连接可以通过进行FreeTDS
,这看起来与您的客户端软件相同。
是的,截至2016年11月底和docs.microsoft.com,您可以在Ubuntu 16.04上安装sql-server vNext CTP1的公共预览(在14.04上不起作用,因为OpenSSL软件包已过时,并且没有无法在19.04上使用,因为OpenSSL软件包太新了):
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
或更新的
sudo /opt/mssql/bin/mssql-conf setup
删除它
sudo apt-get remove --purge mssql-server
删除生成的数据库
sudo rm -rf /var/opt/mssql/
如果要检查它是否有效,请不要忘记关闭防火墙
iptables -F
iptables -P INPUT ACCEPT
您可以使用以下命令启动SQL Server:
systemctl start mssql-server
您可以使用以下命令停止SQL Server:
systemctl stop mssql-server
要查看其状态:
systemctl status mssql-server
要在启动时启动sql-server:
systemctl enable mssql-server
要在启动时禁用SQL-Server-start:
systemctl disable mssql-server
并且如果您还想要命令行工具
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
测试一下
sqlcmd -S localhost -U SA -P 'YourPasswordHere'
CREATE DATABASE contoso
exit
并永久打开端口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
或者,如果您使用ufw,则可以通过以下方式少键入
ufw allow 1433/tcp
对于Red Hat(防火墙):
firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload
如果您不想使用命令行工具,则可以从Windows笔记本电脑连接SSMS。
如果您不能在发行版上使用sql-server(openssl太旧/ openssl太新/不支持发行版),那么您始终可以使用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
安装docker,从互联网提取最新的SQL-Server-2017 docker-linux-image并将容器中的端口1433映射到主机中的端口2017,并将许可证设置为“ Developer”,将sa-Password设置为TOP_SECRET和它还将容器上的/ var / opt / mssql映射到主机上的/ var / opt / mssql。您可能必须使用创建该文件夹mkdir -p /var/opt/mssql
。
从那里开始,您可以使用启动容器,docker start mssql_2017
并使用停止容器docker stop mssql_2017
。
要在Linux上以图形方式使用sql-server,可以使用AzureDataStudio,从其github页面下载deb-package,然后使用sudo dpkg -i azuredatastudio-linux-1.12.2.deb
sqlcmd
安装mssql-tools askubuntu.com/a/870928/8151