如何使用带凭据的xp_cmdshell将文件从1台服务器计算机复制到另一台服务器计算机

时间:2016-09-28 05:24:14

标签: sql-server xp-cmdshell

如何使用带有凭据的xp_cmdshell将文件从1台服务器计算机复制到另一台服务器。我有一个应用程序服务器和数据库服务器。我想通过使用网络凭据执行xp_cmdshell命令将文件从数据服务器传输到应用程序服务器应用程序服务器。我使用sql server 2012,并在SQL Server中配置了xp_cmdshell。

我得到了#34; Access is denied"我尝试将文件从本地计算机传输到共享网络中的特定文件夹时出错。

请帮帮我......

1 个答案:

答案 0 :(得分:0)

这当然是猜测。

this MSDN article您可以找到

  

xp_cmdshell生成的Windows进程具有相同的安全性   作为SQL Server服务帐户的权限

这意味着此Windows服务帐户应该拥有共享文件夹的权限 - 这不符合我的情况。

因此,要解决此问题,您可以指定xp_cmdshell 代理帐户,然后xp_cmdshell将在此指定帐户下执行命令

示例:

EXEC sp_xp_cmdshell_proxy_account 'SHIPPING\KobeR','sdfh%dkc93vcMt0';