2013-02-21 91 views
1

网络从其中服务器所运行的系统中,我可以登录使用下面的命令:连接到SQL Server通过命令行和Windows身份验证

sqlcmd -S "ComputerName\InstanceName" -d "DatabaseName" -i "sql.txt" -s"," -o "result.csv" 

我想从另一个连接到这台服务器机器,所以我试过这个

sqlcmd -U "UserName" -S "ComputerName\InstanceName" -d "DatabaseName" -i "sql.txt" -s"," -o "result.csv" 

上面的“UserName”是具有管理权限的服务器机器的默认用户名。此用户帐户没有任何密码。

发出该命令后,它要求输入密码。由于没有密码,我输入。但我得到以下错误:

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed for user 'UserName'.. 

SQLCMD Reference

回答

1

-U UserName指定SQL Server登录,不是Windows用户的名称。在我看来,你想使用Windows用户。做到这一点的正确方法是拥有一个域,以域用户身份运行,并在SQL中向您所属的域组授予适当的权限。光秃的是,你可以使用runas /netonly /user:ComputerName\UserName sqlcmd -E

+0

我试着运行'runas/netonly/user:“NEW1-PC \ new 1”sqlcmd -E'因为我在用户名中有一个空格,所以用双引号括起来。但是当执行这个时,我得到了RUN AS使用注释。 – emaillenin 2013-02-21 10:56:39

+0

上述使用注释是否显示正确的语法?阅读他们跟随他们。 – 2013-02-21 12:09:28

2

我遇到了这样的情况:

sqlcmd -S "server" -d "db" -E -i test.sql 

这给 “SQLCMD:错误:Microsoft SQL Server的本机客户端11.0:登录失败,用户 '域\管理员'。”

,但是当我切换到:

sqlcmd -S server -d db -E -i test.sql 

它工作正常。所以要注意你的双引号。希望这可能有帮助。

相关问题