Sql server Mssql登录失败:127.0.0.1:1433

Sql server Mssql登录失败:127.0.0.1:1433,sql-server,database,macos,docker,tcp,Sql Server,Database,Macos,Docker,Tcp,尝试使用此登录时。。mssql-u sa-p mypassword。我收到了这个错误,错误:无法连接到本地主机:1433-connect-econrefuse127.0.0.1:1433 我已经使用本教程在docker上安装了sql server,并启动了它。 我正在使用mac os sierra。我在互联网上搜索过,包括stackoverflow,但没有得到答案。我得到的唯一答案是使用sql配置管理器启用tcp/ip,但mac os没有配置管理器,因此我可以启用tcp/ip。请帮忙。我终于找到

尝试使用此登录时。。mssql-u sa-p mypassword。我收到了这个错误,错误:无法连接到本地主机:1433-connect-econrefuse127.0.0.1:1433 我已经使用本教程在docker上安装了sql server,并启动了它。
我正在使用mac os sierra。我在互联网上搜索过,包括stackoverflow,但没有得到答案。我得到的唯一答案是使用sql配置管理器启用tcp/ip,但mac os没有配置管理器,因此我可以启用tcp/ip。请帮忙。

我终于找到了解决办法。。docker将内存设置为2GB,而MS SQL server需要3.25GB。。。我所要做的就是转到Docker首选项并将内存更改为4GB,它就可以工作了:。我在Mac上的docker上使用sql server。

我通过将端口从1422更新到1433来解决此问题,我使用Kitematic来实现此更新。

在我的情况下,容器由于mssql密码不安全而退出。
尝试阅读容器日志。

我也有同样的日志,但这是一个RAM问题。。。4GB并不是为我做的,因为某种原因,在我的情况下,我需要6个,然后它就工作了。

在我的情况下,我遵循本教程,问题是主机地址

我试图连接到localhost,收到了ECONNREFUSED消息,但后来我意识到我需要使用分配给容器的本地IP docker,它类似于192.168.xxx.xxx,因此:

mssql-s 192.168-o 1433-u sa-p“我的密码”


终于措辞了。

就我而言,我只需要启动容器


docker start{container\u name}

我正在使用docker设置容器,然后使用sql cli访问sql server。这就是我如何解决在提供mssql-u sa-p mypassword后出现的错误的方法

一开始我没有意识到的是,在设置docker容器之前提供了一个过于简单的密码: 终端没有这样说,只有在进入docker>Kitematic并检查刚刚创建的容器的日志后,我才看到这样的安全警告。我删除了那个容器并创建了一个具有强密码的容器

然后,我在启动了一个错误的容器后出错,因此连接失败,因为我试图为另一个容器提供密码。从那时起,我更喜欢使用Kinetic来管理和访问我的容器。在终端中键入mssql-u sa-p mypassword并开始工作之前,我只需进入docker>Kinetical并启动我的容器。
确保已在docker中启动容器

启动容器的命令:docker start container containerName


然后尝试连接mssql

我也有同样的问题,在我的情况下,我注意到问题是端口,因此:

1检查容器是否正在运行

docker start "container_name"
2然后,通过以下方式获得正确的端口:

docker ps
3运行它

mssql -s "PORT" -o 1433 -u sa -p "pwd"

我加上这个答案作为补充

我遵循这个指南:

一切进展顺利,但在使用此命令连接到容器时:

mssql -u sa -p mypass1
我得到:

错误:无法连接到本地主机:1433-连接 127.0.0.1:1433

然后我打开Docker应用程序,单击容器,在日志菜单中我可以看到以下内容:

2020-02-05 16:26:45.71 spid20s错误:无法设置系统 管理员密码:密码验证失败。密码不起作用 不满足SQL Server密码策略要求,因为它太 短的密码必须至少为8个字符

我设置的密码只有7个字符:o

这是有道理的

此处还记录了@Microsoft doc:

通过重新启动解决了此问题

由于我只有一个容器,所以运行了以下命令:

docker rm $(docker ps -a -q)
然后使用更强大的密码再次启动sql server映像:

docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPass11' -p 1433:1433 microsoft/mssql-server-linux

非常感谢您花时间在这里发布您自己的解决方案。我花了很多时间想弄明白这一点。我的容器以前可以工作,即使它被设置为2GB。然而,当我更新Docker版本时,它停止运行。所以我最后要做的就是让它工作,正如你所描述的,将我的内存设置为4GB,即使我单击了应用并重新启动。我仍然需要重启我的mac电脑才能让它生效,然后一切都按照预期进行。我的Docker版本17.03.0-ce-mac2 15654,如果其他人遇到这个问题,我也会遇到同样的错误。。此外,我做了Docker首选项内存到4GB,并重新启动了机器。。。我仍然得到相同的错误17.03.1-ce-mac5 Docker版本Ihave@KannanKandasamy你的mac需要什么内存才能运行docker?@ros无法理解你的问题,我的mac有16 gb ram,在docker首选项中,我设置了4gb。。。根据sql server vnext文档,他们只提到了3.25,这并不能回答这个问题。您可以,也可以参考页面右侧的相关和链接问题来找到答案。如果您有相关但不同的
并包含指向此问题的链接,以帮助提供上下文。请参阅:如何识别容器名称@A.Juarezdocker集装箱ls-A查看所有集装箱。您将看到一个表,它的最后一列是names列。很可能首先需要检查容器是否已启动并正在运行。就我而言,这解决了我的问题。你可以在这里看到所有使用docker容器ls-aSame的容器。。。我必须使用docker机器ip来找出分配给虚拟机的ip。对于那些已经尝试了一切但仍然无法通过的人来说。在我的例子中,这是因为密码太复杂了——似乎带有标点符号的密码会抛出此错误。
docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MyPass11' -p 1433:1433 microsoft/mssql-server-linux