使用 SSMS 从 Parallels guest 连接到 Docker 容器中的 SQL Server

问题描述 投票:0回答:2

我正在使用 MacBook M1,它使用 microsoft-azure-sql-edge 图像运行 SQL Server 数据库。在同一台笔记本电脑上使用安装了 SQL Server Management Studio 的 Parallels 运行 Win 11 VM。

问题是我无法从 Windows VM 连接到数据库。我尝试为数据库容器提供主机名,并使用此 docker compose 配置将其连接到主机网络:

version: "3.9"

services:
  mssql:
    image: mcr.microsoft.com/azure-sql-edge:latest
    command: /opt/mssql/bin/sqlservr
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: ${SAPassword}
    stdin_open: true
    container_name: sqlserver
    hostname: sqlserver
    network_mode: host
    ports:
      - 1433:1433

我尝试将

sqlserver
设置为服务器名称并输入
sa
的登录名,但出现错误:

建立与 SQL Server 的连接时发生网络相关或特定于实例的错误

sql-server docker ssms parallels azure-sql-edge
2个回答
3
投票

假设典型的 Parallels 安装和您的配置如下:https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker

  1. 在 Mac 操作系统上,打开终端。
  2. 运行 ifconfig 查找您的网桥 IP,类似于 10.211.55.2(不是您的 192.168.x.x)。
  3. 确保您的 SQL Server 容器正在 docker 中运行。
  4. 在 SSMS 中,使用该 IP 地址作为服务器名称进行连接,使用 docker 配置的 SA 登录设置身份验证类型为 SQL Server 身份验证。

就是这样!


0
投票

我也面临着类似的问题。 现在我可以连接了。

在服务器中: , 例如,如果您的IP地址是:192.168.0.189,端口是1433,则需要输入:192.168.0.189,1433

选择Sql服务器身份验证并输入正确的用户名和密码。

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.