gpt4 book ai didi

sql-server - SQL Server 2012 - 使用 openquery 插入链接服务器表

转载 作者:行者123 更新时间:2023-12-03 00:00:05 25 4
gpt4 key购买 nike

我有一个链接服务器Remoteserver,其中包含一个保存目录中的文件和文件夹名称的表

当我在远程服务器上时,我可以运行内置过程(xp_dirtree)并填充"file"表,但我需要做的是从本地 SQL 服务器运行查询这样做是这样的:

  1. 删除 Remoteserver[Files] 表中的所有记录
  2. 插入来自存储过程的数据:

    INSERT [Remoteserver].[dbo].[files] (subdirectory,depth,isfile)
    EXEC master.sys.xp_dirtree '\\Fileserver\DBBackup',1,1;
  3. 选择“子目录”列

我使用 openquery 尝试了一些操作,我能够选择现有记录,但无法执行插入。

感谢任何帮助。

最佳答案

试试这个

INSERT INTO OPENQUERY([Remoteserver]
,'SELECT subdirectory, depth, [file] FROM [RemoteDB].[dbo].[files]')
EXEC master.sys.xp_dirtree '\\fileserver\DBBackup', 1, 1;

或者

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');

但一般来说,如果可以从本地计算机访问FileserverRemoteserver,则根本不需要使用OPENQUERY。

INSERT INTO [Remoteserver].[RemoteDB].[dbo].[files] (subdirectory, depth, isfile)
EXEC master.sys.xp_dirtree '\\Fileserver\DBBackup',1,1;

关于sql-server - SQL Server 2012 - 使用 openquery 插入链接服务器表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27854388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com