Tôi có thể chạy SQL Server trên Ubuntu không?


10

Công ty của tôi phát triển phần mềm với hai mặt: máy khách và máy chủ. Tôi đã cài đặt Microsoft SQL Server trên Windows và đang chạy phía máy khách trên Ubuntu với một số cấu hình.

Nhưng tôi tự hỏi: có cách nào để chạy Ubuntu làm máy chủ thay thế và cài đặt SQL Server trên nó không?

Câu trả lời:


9

Bạn chắc chắn có thể thử cách tiếp cận tôi sẽ phác thảo dưới đây nhưng tôi không biết có ai đã thử thành công chưa.

  1. Cài đặt phần mềm ảo hóa trên máy Ubuntu của bạn (VMWare, Xen, VirtualBox).
  2. Cài đặt Microsoft Windows Server trong máy ảo.
  3. Cài đặt MS SQL Server trên Windows Server mới được cài đặt.

Tôi không biết liệu có cách nào khác hoạt động không nhưng mọi người có thể sửa cho tôi MS SQL Server từ những gì tôi có thể nhớ thực sự dựa vào Cấp phép cho Microsoft Windows Server. Trên đầu SQLServer này là một con lợn tài nguyên khá tệ, vì vậy, thông thường các tổ chức cố gắng tách biệt nó khỏi chạy với bất kỳ ứng dụng nào khác trên cụm hoặc máy chủ của chính nó.

Một điều mà tôi sẽ đặt câu hỏi là tại sao không thử Sybase làm phụ trợ? Khả năng kết nối từ Linux đến SQLServer và Sybase có thể đi qua FreeTDS, trông giống hệt với phần mềm máy khách của bạn.


1
Vâng, điều này trả lời câu hỏi của tôi, cảm ơn. Tôi không quản lý cơ sở dữ liệu ở đây, chúng tôi có cả đống lập trình viên, tôi đang làm việc ở phía máy khách và chúng tôi cài đặt cả máy chủ VÀ máy khách. Hiện tại tôi đang thành thạo một ubfox trên máy tính windows của mình để chạy một loạt các thử nghiệm để xem liệu ubfox có hoạt động không. Với khách hàng thì có. Trên máy chủ .... không tốt lắm, vì SQL sẽ không bao giờ hoạt động trên Linux. Cảm ơn câu trả lời của bạn
Jester

1
@Karlson: Được sử dụng là đúng, nhưng hiện đã lỗi thời, vào cuối tháng 11 năm 2016.
WitchCraft

URL này có thể trông giống như một câu chuyện cổ tích sau đó docs.microsoft.com/en-us/sql/linux/ mẹo
Asim

5

CẢNH BÁO: EMBRACE - EXTEND - DROP   ?

Có, vào cuối tháng 11 năm 2016 và theo docs.microsoft.com , bạn có thể cài đặt bản xem trước công khai của máy chủ sql vNext CTP1 trên Ubuntu 16.04 (không hoạt động vào ngày 14.04 vì gói OpenSSL đã lỗi thời và không Không hoạt động vào ngày 19.04 vì gói OpenSSL quá mới):

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

hoặc mới hơn

sudo /opt/mssql/bin/mssql-conf setup

Để loại bỏ nó

sudo apt-get remove --purge mssql-server

Để xóa cơ sở dữ liệu đã tạo

sudo rm -rf /var/opt/mssql/

Nếu bạn muốn kiểm tra xem nó có hoạt động hay không, đừng quên tắt tường lửa

iptables -F
iptables -P INPUT ACCEPT  

Bạn có thể khởi động SQL-Server bằng:

systemctl start mssql-server

Bạn có thể dừng SQL-Server với:

systemctl stop mssql-server

Để xem trạng thái của nó:

systemctl status mssql-server

Để khởi động máy chủ sql tại thời điểm khởi động:

systemctl enable mssql-server

Để tắt SQL-Server-start lúc khởi động:

systemctl disable mssql-server

Và nếu bạn cũng muốn các công cụ dòng lệnh

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

Để kiểm tra nó

sqlcmd -S localhost -U SA -P 'YourPasswordHere'
CREATE DATABASE contoso
exit

Và để mở cổng vĩnh viễn 1433 (cổng mặc định của máy chủ sql)

iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

hoặc nếu bạn sử dụng ufw, bạn có thể làm tương tự bằng cách nhập ít hơn với

ufw allow 1433/tcp

Xem thêm tường lửa-kiên trìđiều này

Đối với Red Hat (tường lửa):

firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload

Nếu bạn không muốn làm việc với các công cụ dòng lệnh, bạn có thể kết nối với SSMS từ máy tính xách tay windows.

SSMS


Nếu bạn không thể sử dụng máy chủ sql trên distro của mình (openssl quá cũ / openssl quá mới / distro không được hỗ trợ), thì bạn luôn có thể sử dụng hình ảnh 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

cài đặt docker, lấy docker-linux-image mới nhất của SQL-Server-2017 từ internet và ánh xạ cổng 1433 trong container sang cổng 2017 trong máy chủ và đặt giấy phép thành "Nhà phát triển", mật khẩu sa cho TOP_SECRET và nó cũng ánh xạ / var / opt / mssql trên container tới / var / opt / mssql trên máy chủ. Bạn có thể phải tạo thư mục đó với mkdir -p /var/opt/mssql.

Từ đó trở đi, bạn có thể khởi động container với docker start mssql_2017và dừng container với docker stop mssql_2017.

Để làm việc đồ họa với máy chủ sql trên Linux, bạn có thể sử dụng AzureDataStudio , tải xuống gói gỡ lỗi từ trang github của nó và cài đặt nó vớisudo dpkg -i azuredatastudio-linux-1.12.2.deb



Có thể cần phải tạo một liên kết tượng trưng để hoạt sqlcmdđộng sau khi cài đặt mssql
Niroshan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.