从 SSMS 连接到在容器内运行的 SQL Server Express

Posted

技术标签:

【中文标题】从 SSMS 连接到在容器内运行的 SQL Server Express【英文标题】:Connect to SQL Server Express running inside a container from SSMS 【发布时间】:2020-09-19 03:09:21 【问题描述】:

我正在尝试通过在我的主机上运行的 SSMS 连接到在容器内运行的 SQL Server Express 实例。

容器启动如下:

docker pull microsoft/mssql-server-windows-express
docker run -d -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=password" -p 1436:1433 --name mydb microsoft/mssql-server-windows-express

容器正在我使用的 IP 地址上运行

docker inspect --format '.NetworkSettings.Networks.nat.IPAddress' mydb

现在我尝试使用 SSMS 在上述 IP 地址连接到此实例,但出现以下错误:

即使我更改实例的大小写/位置,我也会遇到相同的错误,例如1.2.3.4,1436\SQLExpress,或1.2.3.4\SQLExpress,1436

我错过了什么?

可能的重复:

    Cannot connect to SQL Server express from SSMS Connect to SQL Express with SSMS

但答案对我没有帮助。

我已确保容器已启动并正在运行。我可以 ping 到容器的 IP 地址。 用户名和密码正确。

我可能缺少的一件事是容器中的数据库实例上没有启用 SQL Server 身份验证。我不知道该怎么做。

如何 实例?

【问题讨论】:

【参考方案1】:

我使用的原始密码很弱(不,我没有使用问题中使用的password,而是另一个仍然很弱的密码)。

使用包含大写、小写、字符和数字组合的密码启动新容器后,我现在可以使用以下设置登录数据库。

【讨论】:

以上是关于从 SSMS 连接到在容器内运行的 SQL Server Express的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 docker 容器内的 SQL Server

从 Docker 容器内连接到 SQL Server Express 会导致评估密码时出错

从 Docker 容器将 PySpark 连接到 Kafka

无法从 SSMS 连接到 AWS 数据库

无法使用桥接网络模式从 docker 容器连接到远程 SQL 服务器

从 docker 容器连接到主机 mongodb