Sql server 由于用户错误18456,SQL Server登录失败

Sql server 由于用户错误18456,SQL Server登录失败,sql-server,Sql Server,我安装了docker,并在windows中运行此命令 docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyComplexPassword!234" -e "MSSQL_PID=sa" --cap-add SYS_PTRACE -p 1404:1433 -d microsoft/mssql-server-linux 然后我加载了SQL Server 2012,并在服务器名称中写入localhost和login:sa 您可以在安装命令中看到的

我安装了docker,并在windows中运行此命令

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyComplexPassword!234" -e "MSSQL_PID=sa" --cap-add SYS_PTRACE -p 1404:1433 -d microsoft/mssql-server-linux
然后我加载了SQL Server 2012,并在服务器名称中写入localhost和login:sa 您可以在安装命令中看到的密码

但我得到了用户SQL Server登录失败的错误信息


怎么了?

问题在于您使用的是本地主机。这不是docker正在侦听的接口

PS C:\> ipconfig

Windows IP Configuration


Ethernet adapter vEthernet (Temp Nic Name):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::99d:bf5e:8700:56df%26
   IPv4 Address. . . . . . . . . . . : 172.27.219.121
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 172.27.208.1

如果你有一个
ipconfig
,就会有一个
vEthernet
接口。IP也会在那里。使用此IP连接到数据库服务器。在连接
-p 1404:1433
时,确保将机器端口“1404”映射到docker的默认SQL Server端口“1433”,同时提供端口#as
1404
。因此,您在SSMS中的“服务器名”应该是
localhost,1404
,而不是简单的
localhost

是的,这是我的密码。那是什么呢?我刚刚在视频中看到它是这样工作的sql设置?一年前是的,同样的问题。但是当我运行docker run-e ACCEPT_EULA='Y'MSSQL'u PID='sa'MSSQL'u sa_PASSWORD='MyComplexPassword!234'MSSQL_TCP_端口=1234/opt/MSSQL/bin/MSSQL配置设置。它向我显示了无效的引用格式:存储库名称必须是小写的。如何才能使其正确?之前写什么?我想谢谢你的IP地址?不,这些是本地IP地址,所以不是我的IP:-)