可能是一件简单的事,但对我来说是新的。我找不到一篇有助于此的帖子,所以我希望我在不知情的情况下做些傻事。
我在Mac上的Docker中运行了一个SQL Server数据库,可以轻松登录到“sa”帐户。
我为应用程序连接到同一个数据库创建了另一个id。
CREATE LOGIN tisApp WITH PASSWORD='pa$Sw0rd'
SELECT * FROM sys.sql_logins WHERE name = 'tisApp'
但是,当我尝试连接它时,就像这样......
mssql -u tisApp -p pa$Sw0rd
我收到一个错误......
My-iMac:~ my$ mssql -u tisApp -p pa$Sw0rd
Connecting to localhost...
Error: Login failed for user 'tisApp'.
My-iMac:~ my$
MS文档声明以这种方式创建的id应该能够连接但是......我不能。
当我检查日志时,它们会显示:
用户'tisApp'登录失败。原因:密码与提供的登录名不匹配。 [客户:172.17.0.1]
在这种情况下这对任何人都有帮助,这是一个小实验后非常简单的答案。由于某种原因,SQL Server不通过mssql接受特殊字符。所以,我更新了如下命令,现在一切都很完美。
当然,这不是一个好的密码,但它现在可以正常工作。
SQL Server:
CREATE LOGIN tisApp WITH PASSWORD='pasSw0rd'
SELECT * FROM sys.sql_logins WHERE name = 'tisApp'
命令行:
mssql -u tisApp -p pa$Sw0rd
现在,我明白了......
My-iMac:TIS my$ mssql -u tisApp -p pasSw0rd
Connecting to localhost...done
sql-cli version 0.6.2
Enter ".help" for usage hints.
mssql>