如何在MacOS上配置sqlcmd以使用Windows身份验证连接到MSSQL

时间:2019-01-28 22:48:46

标签: sql sql-server macos sqlcmd isql

我想在Mac上使用sqlcmd cli在使用Windows身份验证的Microsoft SQL Server上运行脚本。

软件详细信息:
Mac OS 10.13
MSSQL 2012版本11.0.2100.60
sqlcmd版本17.0.0001.1 Linux

作为测试,我尝试了:
sqlcmd -S hostname,port\\database_name -U domain\\user.name -P "XXX" -q "select @@version"

但是我收到了错误消息:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user domain\user.name

我还配置了freetds DSN,并尝试使用以下方式进行连接:
sqlcmd -S DSN_NAME -D -U domain\\user.name -P "XXX" -q "select @@version"

但是我收到了错误消息:
The DSN specified an unsupported driver

对于它的价值,我可以通过以下方式通过isql使用相同的DSN: isql DSN user.name password

任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:0)

一些可能有用的东西。 如果您想使用Windows身份验证,我认为您将必须设置Kerberos并且不使用sqlcmd命令提供登录ID和密码。

我有一个令人困惑的场景,当数据库服务器设置为仅接收Windows身份验证连接,而MS ODBC驱动程序将不使用用户名和密码进行连接时,带有freetds的isql将使用用户名和密码进行连接。将计算机连接到网络后,设置了kerberos,并获得了kerberos票证,我可以使用以下方式进行连接:

sqlcmd -S 'ServerName'