Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách chạy đồng thời SQL Server 2017 &2019 trên máy Mac

Khi tôi viết điều này, có hai bản phát hành SQL Server có thể chạy trên máy Mac:SQL Server 2017 và SQL Server 2019 Preview. Bài viết này giải thích cách chạy cả hai tính năng này trên máy Mac để chúng chạy đồng thời. Không cần gỡ cài đặt một cái trước khi bạn cài cái kia.

Chìa khóa là sử dụng một số cổng TCP khác nhau cho mỗi trường hợp (cổng TCP mà các vùng chứa được ánh xạ tới trên máy chủ). Nếu bạn không làm điều này, bạn sẽ gặp lỗi. SQL Server sử dụng cổng 1433 theo mặc định, bạn có thể sử dụng cổng này cho một trong các trường hợp của mình, nhưng không phải cả hai. Do đó, bạn sẽ cần thay đổi điều này cho ít nhất một trong các cài đặt của mình.

Tải xuống SQL Server

Các hướng dẫn này giả định rằng bạn đã cài đặt và chạy Docker trên máy Mac của mình. Bạn cần Docker để chạy SQL Server trên máy Mac của mình (trừ khi bạn chọn cài đặt nó trên Windows thông qua máy ảo, nhưng đó không phải là những gì chúng tôi đang làm ở đây). Nếu bạn không có Docker, hãy chuyển đến phần "Hướng dẫn chi tiết" ở cuối bài viết này.

Để tải xuống hình ảnh SQL Server 2017 mới nhất, hãy chạy lệnh sau:

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

Để tải xuống bản xem trước SQL Server 2019, hãy chạy lệnh sau:

sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu

Lưu ý rằng đây là bản phát hành mới nhất tại thời điểm viết bài. Để có hình ảnh mới nhất, hãy kiểm tra kho lưu trữ SQL Server chính thức trên trang web Docker.

Chạy vùng chứa

Bây giờ cả hai hình ảnh vùng chứa đã được tải xuống, hãy chạy các lệnh sau:

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2017" -p 1401:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2019" -p 1402:1433 --name sql2 -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu

Thay đổi tên và mật khẩu của riêng bạn. Ngoài ra, nếu bạn đang sử dụng một bản phát hành khác, hãy thay đổi đường dẫn cho phù hợp.

Trong trường hợp này, tôi tạo vùng chứa SQL Server 2017 và vùng chứa SQL Server 2019 và ánh xạ chúng tới các cổng TCP 1401 và 1402 trên máy chủ. Trong cả hai trường hợp, SQL Server đang lắng nghe trên cổng 1433 trong vùng chứa.

Đó là tất cả. Bây giờ bạn sẽ có SQL Server 2017 và SQL Server 2019 chạy đồng thời trên máy Mac của mình!

Kết nối với Phiên bản máy chủ SQL của bạn

Bạn sẽ cần thêm số cổng khi kết nối với mỗi phiên bản. Dưới đây là một ví dụ về việc sử dụng công cụ dòng lệnh mssql-cli để kết nối với phiên bản SQL Server 2017:

mssql-cli -S Localhost,1401 -U sa -P BigStrong#Pwd2017

Một số công cụ GUI có thể có một trường riêng cho cổng. Nếu không, bạn có thể sử dụng cùng một Localhost, 1401 định dạng.

Hướng dẫn chi tiết

Các hướng dẫn trên giả định rằng bạn có Docker trên máy Mac và bạn đã có một số kiến ​​thức về cài đặt và kết nối với SQL Server trên máy Mac. Nếu bạn không làm vậy, hai bài viết sau sẽ hữu ích.

  • Cài đặt SQL Server (2017) trên máy Mac

    Bài viết này hướng dẫn cách cài đặt SQL Server bằng thiết đặt cổng mặc định (1433:1433). Bao gồm cài đặt Docker và kết nối với SQL Server từ giao diện dòng lệnh, cũng như liên kết đến các công cụ GUI.

  • Cài đặt SQL Server 2019 trên máy Mac

  • Bài viết này trình bày cách cài đặt SQL Server bằng một cổng khác (1400:1433). Trên thực tế, nó bắt đầu trên cổng mặc định nhưng sau đó hiển thị cho bạn lỗi bạn sẽ gặp phải nếu bạn cố gắng chạy hai phiên bản trên cùng một cổng. Sau đó, nó hiển thị cách thay đổi cổng đó (giống như trong ví dụ trên). Bài viết này cũng bao gồm cài đặt Docker và kết nối với SQL Server từ giao diện dòng lệnh, cũng như các liên kết đến các công cụ GUI.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bản xem trước công khai đầu tiên của SQL Server 2019:CTP 2.0

  2. Tối ưu hóa truy vấn SQL - Cách xác định khi nào và nếu cần

  3. Cách tạo Ràng buộc Kiểm tra trên Nhiều Cột trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 84

  4. SQL Server REPLACE () so với TRANSLATE ():Sự khác biệt là gì?

  5. Bạn sử dụng kích thước nào cho varchar (MAX) trong khai báo tham số của mình?