连接到SQL Server通过命令行和Windows身份验证
问题描述:
网络从其中服务器所运行的系统中,我可以登录使用下面的命令:连接到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'..
答
-U UserName
指定SQL Server登录,不是Windows用户的名称。在我看来,你想使用Windows用户。做到这一点的正确方法是拥有一个域,以域用户身份运行,并在SQL中向您所属的域组授予适当的权限。光秃的是,你可以使用runas /netonly /user:ComputerName\UserName sqlcmd -E
。
答
我遇到了这样的情况:
sqlcmd -S "server" -d "db" -E -i test.sql
这给 “SQLCMD:错误:Microsoft SQL Server的本机客户端11.0:登录失败,用户 '域\管理员'。”
,但是当我切换到:
sqlcmd -S server -d db -E -i test.sql
它工作正常。所以要注意你的双引号。希望这可能有帮助。
我试着运行'runas/netonly/user:“NEW1-PC \ new 1”sqlcmd -E'因为我在用户名中有一个空格,所以用双引号括起来。但是当执行这个时,我得到了RUN AS使用注释。 – emaillenin 2013-02-21 10:56:39
上述使用注释是否显示正确的语法?阅读他们跟随他们。 – 2013-02-21 12:09:28