Câu trả lời:
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.
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.
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ì và đ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.
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_2017
và 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