我们最近将所有数据库从MyServerA
移至MyServerB
。在MyServerA
上一切正常,但是当我尝试使用bcp
调用xp_cmdshell
命令时,我收到以下错误:
Error = [Microsoft][SQL Server Native Client 11.0]Unable to open BCP host data-file
一些信息:
我非常确定我在MyServerB
下登录的用户已将权限分配给我尝试发帖的远程服务器位置。我跑了一个" whoami"在命令提示符下成功添加它们在安全性下完全控制远程文件夹(共享btw)。另外,我可以映射到它或访问它。
有趣的是,当我尝试发送一个已经存在的文件,即我尝试发送的同一位置,作为使用sp_send_dbmail
的附件时,我得到了{{1} } 信息。所以这似乎是一个安全问题。但请参阅上面的#1。
我也尝试将其保存在本地Access denied
的文件夹中,但我也不能这样做。
示例代码:
MyServerB
答案 0 :(得分:1)
去找一位专家的朋友。问题是我需要为SQL服务器尝试执行xp_cmdshell的服务帐户提供权限。
挑战是"服务"在查看"登录"与运行的SQL Server服务关联的帐户。它有一个与默认实例名称相关联的NT帐户。您要选择的是名为" SERVICE"。
的帐户此外,旧机器似乎无需将此帐户添加到该权限。
无论如何,它现在有效。
感谢您的帮助和兴趣。
答案 1 :(得分:0)
从xp_cmdshell运行whoami,我相信它会让你知道接下来需要做什么。