Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SQL过程在同一域上的其他服务器上创建子目录_Sql_Sql Server 2008_Tsql_Windows Server 2008 R2 - Fatal编程技术网

如何使用SQL过程在同一域上的其他服务器上创建子目录

如何使用SQL过程在同一域上的其他服务器上创建子目录,sql,sql-server-2008,tsql,windows-server-2008-r2,Sql,Sql Server 2008,Tsql,Windows Server 2008 R2,我正在编写SQL脚本,该脚本的任务是将存储在一台服务器上的SQL数据库中的二进制数据(图像、文档)传输到同一域中另一台服务器上的共享文件夹。但我还想使用SQL脚本在此共享文件夹中创建目录树,因此我使用以下命令和UNC路径: EXEC master.dbo.xp_create_subdir '//MYSERVER/sharedfoler/testdir/' 但我得到了一个错误: Msg 22048, Level 15, State 0, Line 0 Error executing extend

我正在编写SQL脚本,该脚本的任务是将存储在一台服务器上的SQL数据库中的二进制数据(图像、文档)传输到同一域中另一台服务器上的共享文件夹。但我还想使用SQL脚本在此共享文件夹中创建目录树,因此我使用以下命令和UNC路径:

EXEC master.dbo.xp_create_subdir '//MYSERVER/sharedfoler/testdir/'
但我得到了一个错误:

Msg 22048, Level 15, State 0, Line 0
Error executing extended stored procedure: Invalid Parameter
我的权限是可以的,因为当我尝试将数据传输到这个共享文件夹时,它工作正常。谢谢您的建议。

您可以尝试以下方法:

--master.dbo.xp_create_subdir '\\MYSERVER\sharedfoler\testdir\'
--GRANT exec ON xp_cmdshell TO '<somelogin>'
EXECUTE AS LOGIN = '<other_login>';
GO
USE master;
xp_cmdshell 'md \\MYSERVER\sharedfoler\testdir\, NO_OUTPUT';
REVERT ; 
-master.dbo.xp\u create\u subdir'\\MYSERVER\sharedfoler\testdir\n
--将xp_cmdshell上的exec授予“”
以LOGIN=''的身份执行;
去
使用master;
xp_cmdshell“md\\MYSERVER\sharedfolder\testdir\,无输出”;
还原

我认为您需要指定整个路径
EXEC master.dbo.xp\u create\u subdir'C:\MYSERVER\sharedfolder\testdir'
@Slasko谢谢您的建议,但我需要使用UNC路径,因为共享文件夹位于不同的计算机上,而不是与我的SQL Server相同,但两者位于同一网络域中。我认为在该路径中没有问题,因为我使用相同类型的路径来创建二进制数据,并将其从数据库传输到要创建子目录的同一台服务器,以及文件传输UNC路径。