我似乎无法使用以下命令对我的SQL服务器进行身份validation:
sqlcmd -S myserver -d mydatabase -U user -P password
它总是说, error: 18456, state 1: login failed for "domain\username"
奇怪的是,如果我通过ODBC使用相同的凭据来testing我的连接,那么它的身份validation是正确的。 在pipe理工作室中,我正在使用的帐户对实例和数据库具有dbo_owner特权。 此外,我使用这些相同的凭据连接到实例。
在我的事件日志中,我也有这个错误:
Login failed for 'domain\username'. Reason: Failed to open the explicitly specified database [CLIENT MY_IPADDRESS]
我不是SQL专家,如果可能的话,可以使用一些帮助来解决这个问题。
您不能使用带有-U参数的Windowslogin名。 -U用于SQLlogin。 如果要以当前login的Windows用户身份连接,请使用-E参数表示要使用可信连接。
sqlcmd -S myserver -d mydatabase -E
如果你想作为不同的Windows用户连接,那么你可以运行你的shell(cmd,powershell等)作为该用户,并使用上述命令。