Sql 用户NT权限/匿名登录的BCP导出登录失败

Sql 用户NT权限/匿名登录的BCP导出登录失败,sql,sql-server,Sql,Sql Server,SQL Server已联机,我正在尝试将数据导出到远程服务器。我正在使用Windows身份验证登录sql server 代码: 但我有一个错误 用户“NT授权\匿名登录”的[Microsoft][ODBC SQL Server驱动程序][SQL Server]登录失败 如果我尝试 exec xp_cmdshell 'del C:\exp\*.csv' 代码运行良好。所以我想我确实可以访问xp_cmdshell 然后我想知道为什么我的xp\u cmdshell不能用于bcp导出 谢谢你的建议 您

SQL Server已联机,我正在尝试将数据导出到远程服务器。我正在使用Windows身份验证登录sql server

代码:

但我有一个错误

用户“NT授权\匿名登录”的[Microsoft][ODBC SQL Server驱动程序][SQL Server]登录失败

如果我尝试

exec xp_cmdshell 'del C:\exp\*.csv'
代码运行良好。所以我想我确实可以访问xp_cmdshell

然后我想知道为什么我的xp\u cmdshell不能用于bcp导出


谢谢你的建议

您正在将命令传递给外部应用程序

这个外部应用程序并不真正了解您,也不知道您的命令来自何处。因此出现了匿名登录消息

您需要告诉命令以谁的身份执行。查看BoL中的BCP,您将发现一些您可能希望添加的参数:

-T 指定bcp实用程序通过使用集成安全性的受信任连接连接到SQL Server。不需要网络用户的安全凭据、登录id和密码。如果未指定–T,则需要指定–U和–P才能成功登录

-U登录\ U id 指定用于连接到SQL Server的登录ID

-p密码
指定登录ID的密码。如果未使用此选项,bcp命令将提示输入密码。如果在命令提示符末尾使用此选项而不使用密码,则bcp将使用默认的空密码。

我认为您是对的。我已经创建了一个新的登录user001,并为其分配了sysadmin角色,并将该用户添加到了我的数据库中,不知怎的,当我使用-U user001-P xxxxx执行bcp sp时,我得到了一个错误,即用户“user001”的登录失败,而我可以使用user001和相同的密码xxxxx登录到sql server。PRINT@sql1的值是多少?考虑……S'+@@ServerName是bcp DB1.dbo.Table1 out C:\exp\test20140914.csv-C-t,-Uuser001-P XXXX-S。\sql2005是否收到其他错误?我发现调试这类事情最好在命令行本身上完成。开始>运行>命令。开始直接点击BCP命令。证明您的命令字符串是正确的。然后获取确切的命令字符串,并在T-SQL中使用它。只有在完成了这两项工作后,才应继续使用动态SQL:-
exec xp_cmdshell 'del C:\exp\*.csv'