使用 mssql 工具的 Docker 登录失败



SSMS连接得很好。在 PowerShell 中运行此代码以复制以下错误。

有什么建议吗?谢谢!


Sqlcmd: 错误: Microsoft SQL Server 的 ODBC 驱动程序 17: 用户"SA"登录失败。

docker pull mcr.microsoft.com/mssql/server
#Sql Server cmd Tools
docker pull mcr.microsoft.com/mssql-tools
#Set-up the Container:
docker run `
--name MSSQL-Latest `
-p 1433:1433 `
-e "ACCEPT_EULA=Y" `
-e "SA_PASSWORD=F00B4rB4z!" `
-v C:DockerSQL:/sql `
-d mcr.microsoft.com/mssql/server:latest

docker exec MSSQL-Latest /opt/mssql-tools/bin/sqlcmd `
-S localhost `
-U "SA" `
-P "SA_PASSWORD=F00B4rB4z!" ```

只需从您尝试登录的密码中删除"SA_PASSWORD="。您将"F00B4rB4z!"值分配给SA_PASSWORD环境,而不是"SA_PASSWORD=F00B4rB4z!"。

如果你想在容器内执行一些命令,你可以添加选项:--tty分配伪TTY,--interactive保持STDIN打开或简称使用-it。

正确的命令应该是:

docker exec -it MSSQL-Latest /opt/mssql-tools/bin/sqlcmd -S localhost -U "SA" -P "F00B4rB4z!"

请记住,如果您之前已使用 SA_PASSWORD 创建了任何用户,则SA_PASSWORD值将保存在主机磁盘上的绑定装入卷中指定的路径中。此绑定装载将覆盖将来创建的具有相同绑定装载卷的容器中的SA_PASSWORD。

请尽量避免使用latest标签。此方法可能会导致不准确,因为无法保证您当前使用的是哪个版本的 docker 映像。

最新更新