SQL - BCP输出登录凭据的问题

时间:2014-08-14 16:04:42

标签: sql sql-server-2008 bcp

所以我一直在浏览与我的问题相关的一些问题,但我似乎无法解决它。我在自己的SQL服务器上工作,但是一旦我将它移到另一台服务器上,我现在就遇到了问题。

这是我正在使用的bcp out命令:

declare @sql varchar(1000)
set @sql = 'bcp DatabaseName.dbo.TableName out C:\'+@name+'.txt -c -t"\t" -T -U"'+@user+'" -P"'+@password+'" -S"'+ @@SERVERNAME +'"'

exec master..xp_cmdshell @sql

但是我从服务器得到了这个:

SQLState = 37000, NativeError = 4060
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot open database "DatabaseName" requested by the login. The login failed.
SQLState = 28000, NativeError = 18456
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'NT AUTHORITY\SYSTEM'.
NULL

我不知道我现在做错了什么,而且我已经尝试过我在其他线程中看到的有关它的修复程序,但仍然没有。

编辑:我以前在自己的服务器上使用过这个命令,它运行得很好。

declare @sql varchar(1000)
set @sql = 'bcp DatabaseName.dbo.TableName out C:\'+@name+'.txt -c -t"\t" -T -S'+ @@SERVERNAME

我还在第一个命令中删除了-T,并且用户登录失败而不是NT Authority系统帐户。即使登录正确。

解决了......我真是个傻瓜。

1 个答案:

答案 0 :(得分:0)

bcp 命令行的选项:

  

-S服务器名称
  -T可信连接
  -w宽字符类型
  -t字段终止符

bcp AdventureWorks2014.HumanResources.vEmployee out C:\DataFiles\SsisExample\source\EmployeeData.txt -w -t, -S localhost\SqlSrv2014 -T