4

我正在尝试使用“EXEC MASTER..XP_CMDSHELL”访问文件夹/目录,它适用于本地文件/文件夹,但它无法通过网络访问文件夹。

EXEC MASTER..XP_CMDSHELL 'c:\Images'  --Works fine
EXEC MASTER..XP_CMDSHELL '\\IPaddress\Images' -- returns "Access is denied."

请注意,我可以访问网络位置,但不能使用 sql server。

Sql server 在 Windows 身份验证模式下运行。Sql server 正在使用 'nt authority\network service' 帐户访问远程文件夹。

问候

4

2 回答 2

1

如果你运行 xp_cmdshell 'whoami.exe',它会告诉你运行命令的帐户。如果此帐户没有网络权限,您将收到您所看到的错误。

检查 SQL 文档以更改此帐户/权限。

于 2011-11-02T12:06:00.980 回答
0

当您必须将文件(如 BCP 结果或备份)放入远程驱动器时,仅将此驱动器映射到 Windows 是行不通的,它必须在 SQL Server 上映射到!,要做到这一点,请尝试以下链接:

exec xp_cmdshell 'net use p:\Server\Folder\Folder\Folder\ /Domain\Login /Password'

参考:https ://social.msdn.microsoft.com/Forums/en-US/6eca2d62-eb86-4f23-9b86-6f917017f50c/bcp-utility-via-xpcmdshell-and-network-drive?forum=sqlsecurity

于 2015-12-29T13:18:18.800 回答