SQL Server无法打开BCP主机数据文件



我们最近将所有数据库从MyServerA移动到MyServerB。一切都在MyServerA上正常工作,但是当我尝试使用xp_cmdshell调用bcp命令时,我会收到以下错误:

Error = [Microsoft][SQL Server Native Client 11.0]Unable to open BCP host data-file

一些信息:

  1. 我很确定要登录的用户,因为在MyServerB下,将权利分配给了我要发布的远程服务器位置。我在命令提示符下运行了一个" whoami",并在安全文件夹上完全控制了安全性(BTW共享)。另外,我可以映射到它或访问它。

  2. 有趣的是,当尝试发送已经存在的文件时,这是我试图发送到的位置,作为使用sp_send_dbmail IN的附件,我收到了Access denied消息。因此,这似乎是一个安全问题。但是请参阅上面的#1。

  3. 我还尝试将其保存在本地MyServerB上的文件夹中,但我不能这样做。

示例代码:

DECLARE @bcp varchar(2000);
SET @bcp = 'bcp "SELECT 1" queryout "\MyServerAReportsMyFile.txt" -c -T -S MyServerB';
EXEC master..xp_cmdshell @bcp;

去找一个专家的朋友。问题是我需要为SQL Server试图执行XP_CMDSHELL的SERIVCE帐户提供权限。

挑战是"服务"帐户在查看与运行SQL Server服务相关的"登录"帐户时被命名为不同的。它具有与默认实例名称关联的NT帐户。您想选择的是名为"服务"的帐户。

此外,旧机器似乎无需将此帐户添加到该许可即可。

无论如何,它现在起作用。

感谢您的帮助和兴趣。

从xp_cmdshell运行whoami,我相信这会给您一个线索下一步需要做什么。

相关内容

  • 没有找到相关文章

最新更新