우분투에서 SQL Server를 실행할 수 있습니까?


10

우리 회사는 클라이언트와 서버라는 두 가지 측면의 소프트웨어를 개발합니다. Windows에 Microsoft SQL Server를 설치했으며 일부 구성으로 Ubuntu에서 클라이언트 쪽을 실행하고 있습니다.

그러나 궁금한 점이 있습니다. Ubuntu를 서버로 실행하고 SQL Server를 설치하는 방법이 있습니까?

답변:


9

아래에 설명 할 접근 방식을 시도해 볼 수는 있지만 누군가가 성공적으로 시도했는지는 알 수 없습니다.

  1. Ubuntu 시스템 (VMWare, Xen, VirtualBox)에 가상화 소프트웨어를 설치하십시오.
  2. 가상 머신에 Microsoft Windows Server를 설치하십시오.
  3. 새로 설치된 Windows Server에 MS SQL Server를 설치하십시오.

다른 방법으로도 효과가 있는지는 모르지만 사람들은 실제로 Microsoft Windows Server에 대한 라이센싱에 의존한다는 사실을 기억하여 MS SQL Server를 바로 잡을 수 있습니다. 이 SQLServer의 맨 위에는 매우 나쁜 리소스 호그이므로 일반적으로 조직은 자체 클러스터 또는 서버의 다른 응용 프로그램과 실행하지 않도록 분리하려고 시도합니다.

한 가지 궁금한 점은 Sybase를 백엔드로 사용하지 않는 이유입니다. Linux에서 SQLServer 및 Sybase 로의 연결은 FreeTDS클라이언트 소프트웨어와 동일하게 보일 수 있습니다.


1
글쎄, 이것은 내 질문에 대답합니다. 감사합니다. 데이터베이스를 관리하지 않습니다. 여러 프로그래머가 있습니다. 클라이언트 측에서 작업 중이며 서버와 클라이언트를 모두 설치합니다. 현재 Windows 시스템에서 우분투를 가상화하여 우분투가 작동하는지 확인하기 위해 많은 테스트를 실행하고 있습니다. 고객과 예. SQL은 Linux에서 작동하지 않기 때문에 서버에서 .... 그렇게 좋지 않습니다. 답변 주셔서 감사합니다
Jester

1
@Karlson : 2016 년 11 월 말까지 사실 이었지만 구식입니다.
WitchCraft

이 URL은 다시 동화처럼 보였을 것입니다. docs.microsoft.com/en-us/sql/linux/…
Asim

5

경고 : EMBRACE-EXTEND-DROP   ?

예 년 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와 연결할 수 있습니다.

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



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.