Kir*_*ran 5 sql-server openquery
我有一个链接服务器,Remoteserver其中包含一个表,用于保存dir中的文件和文件夹名称
当我在远程服务器上时,我可以运行内置过程(xp_dirtree)并填充'files'表,但我需要做的是从执行此操作的本地SQL服务器运行查询:
[Files]表中删除所有记录Remoteserver插入来自存储过程的数据:
INSERT [Remoteserver].[dbo].[files] (subdirectory,depth,isfile)
EXEC master.sys.xp_dirtree '\\Fileserver\DBBackup',1,1;
Run Code Online (Sandbox Code Playgroud)选择"子目录"列
我尝试了一些使用openquery的东西,我可以选择现有的记录,但无法进行插入.
任何帮助表示赞赏.
试试这个
INSERT INTO OPENQUERY([Remoteserver]
,'SELECT subdirectory, depth, [file] FROM [RemoteDB].[dbo].[files]')
EXEC master.sys.xp_dirtree '\\fileserver\DBBackup', 1, 1;
Run Code Online (Sandbox Code Playgroud)
要么
INSERT INTO OPENQUERY([Remoteserver]
,'SELECT subdirectory,depth, [file] FROM [RemoteDB].[dbo].[files]')
select * from OPENQUERY([another_server_name], 'master.sys.xp_dirtree ''\\fileserver\DBBackup\temp'', 1, 1');
Run Code Online (Sandbox Code Playgroud)
但在一般情况你并不需要在所有如果使用OPENQUERY Fileserver并Remoteserver从本地机器进行访问.
INSERT INTO [Remoteserver].[RemoteDB].[dbo].[files] (subdirectory, depth, isfile)
EXEC master.sys.xp_dirtree '\\Fileserver\DBBackup',1,1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14254 次 |
| 最近记录: |