从 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 Express 会导致评估密码时出错
从 Docker 容器将 PySpark 连接到 Kafka