답변:
아래에 설명 할 접근 방식을 시도해 볼 수는 있지만 누군가가 성공적으로 시도했는지는 알 수 없습니다.
다른 방법으로도 효과가 있는지는 모르지만 사람들은 실제로 Microsoft Windows Server에 대한 라이센싱에 의존한다는 사실을 기억하여 MS SQL Server를 바로 잡을 수 있습니다. 이 SQLServer의 맨 위에는 매우 나쁜 리소스 호그이므로 일반적으로 조직은 자체 클러스터 또는 서버의 다른 응용 프로그램과 실행하지 않도록 분리하려고 시도합니다.
한 가지 궁금한 점은 Sybase를 백엔드로 사용하지 않는 이유입니다. Linux에서 SQLServer 및 Sybase 로의 연결은 FreeTDS
클라이언트 소프트웨어와 동일하게 보일 수 있습니다.
예 년 11 월 2016 말에 따라, 그리고 당 docs.microsoft.com , 당신은 우분투 16.04 (에 SQL 서버 vNext CTP1의 공개 미리보기를 설치할 수 있습니다 14.04에 대한 작업은 OpenSSL이 패키지는 오래된되어 있지 않기 때문에, 그리고 아무튼 OpenSSL 패키지가 너무 새롭기 때문에 19.04에서 작동하지 않습니다.)
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 시작을 비활성화하려면
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 too old / openssl too new / distro not supported), 항상 도커 이미지를 사용할 수 있습니다.
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
도커를 설치하고 인터넷에서 최신 SQL-Server-2017 docker-linux-image를 가져와 컨테이너의 포트 1433을 호스트의 포트 2017에 매핑하고 라이센스를 "개발자", 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