上下文:我正在尝试构建一个开发SQL Server,我可以继续学习SQL并使用Microsoft SQL Server Management Studio(SSMS
)在Windows PC上进行访问。
所以我将AdventureWorks数据库放在运行在DigitalOcean Ubuntu 16.04盒子上的MS SQL Server 2017的Docker容器上。从我的Mac,我可以远程SSH到服务器,访问容器和查询数据库。
但是我希望在我的Windows PC上使用SSMS,并且不确定我是如何开始连接到遥控盒的。在下图中,没有选项可以指定SSH密钥或甚至登录到Ubuntu框,只能访问SQL服务器。
这甚至可能吗?
答案 0 :(得分:19)
使用公共IP地址通过SSMS连接,然后是逗号分隔符,然后是端口(xxx.xx.xx.xxx,端口)
您还需要sa凭据才能完成这项工作。
答案 1 :(得分:4)
答案 2 :(得分:2)
按照此站点的说明在Windows容器上为我解决了该问题: https://www.sqlshack.com/sql-server-with-a-docker-container-on-windows-server-2016/ 可以从SSMS立即连接到SQL Server。
尝试使用以下命令在Linux容器上也可以使用
:docker run --name mssqltrek-con1 -d -p 1433:1433 -e sa_password=My$eCurePwd123# -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
运行此命令后,您可以使用以下方法检索正确的IP:
docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mssqltrek-con1
答案 3 :(得分:2)
您可以连接到SQL docker服务器
IP_Of_Machine,端口
提供用户-sa(默认)和密码。
您也可以执行命令>
docker exec -it <容器ID |容器名称> / opt / mssql-tools / bin / sqlcmd -S本地主机-U sa -P <您的密码>
答案 4 :(得分:1)
这与 OP 的问题并不完全相同,但我创建了一个 sql docker 容器,然后无法从 SQL Server Management Studio 登录到它。原来我用的sa密码不够安全。一旦我删除了我的容器并使用更安全的密码重新创建了一个,它就可以让我从 SQL Server Management Studio 连接到它。如果您没有指定足够强的密码,它仍然会创建容器 OK - 您只是无法登录! 希望这会为某人节省一些时间。
答案 5 :(得分:0)
当我尝试通过SSMS进行连接时,我也遇到了同样的问题,即使我尝试使用localhost,1433也无济于事。 enter image description here
经过一些研发,我找到了解决方法
答案 6 :(得分:0)