📜  使用 db 上的 openquery 更新所有链接服务器表 - SQL (1)

📅  最后修改于: 2023-12-03 15:36:27.380000             🧑  作者: Mango

使用 db 上的 openquery 更新所有链接服务器表 - SQL

当我们需要跨服务器进行更新查询时,可以使用 SQL Server 中的 openquery 函数。openquery 函数允许我们在本地 SQL Server 实例上通过一个链接服务器访问另一个远程 SQL Server 实例,从而能够直接访问远程表上的数据。本文将介绍如何使用 openquery 函数来更新所有的链接服务器表。

准备工作

首先,我们需要创建链接服务器,以便访问远程 SQL Server 实例上的表。创建链接服务器需要以下步骤:

  1. 在本地 SQL Server 实例上,打开 SQL Server Management Studio(SSMS)。
  2. 右键单击“链接服务器”,选择“新建链接服务器”。
  3. 在“新建链接服务器向导”窗口中,输入链接服务器的名称和远程服务器名称,并指定连接信息(如用户名和密码)。
  4. 选择“RPC”和“RPC Out”选项。
  5. 接受默认选项并完成向导。

创建链接服务器后,我们就可以使用 openquery 函数来访问远程 SQL Server 实例上的表了。

使用 openquery 更新链接服务器表

使用 openquery 函数来更新链接服务器表需要以下步骤:

  1. 在本地 SQL Server 实例上打开 SSMS。
  2. 在新的查询窗口中输入以下代码片段,将“LinkServerName”和“DatabaseName”替换为实际链接服务器和数据库的名称:
USE [DatabaseName]
GO
 
UPDATE OPENQUERY(LinkServerName,
       'SELECT * FROM DatabaseName.SchemaName.TableName')
SET Column1 = 'NewValue'
WHERE Column2 = 'SomeCondition'

此代码片段首先使用“USE”语句选择数据库。然后,它使用“OPENQUERY”函数将链接服务器的表添加到查询中。在“OPENQUERY”函数中,我们指定链接服务器的名称,以及远程数据库、模式和表的名称。我们还可以选择要访问的列。

接下来,我们使用 UPDATE 语句更新查询结果中符合条件的行。

最后,执行上述代码片段后,即可更新链接服务器表。

总结

使用 openquery 函数更新链接服务器表可以轻松地在本地 SQL Server 实例上更新远程 SQL Server 实例上的表。只要我们在 openquery 函数中指定正确的链接服务器、数据库、模式和表的名称,我们就能够使用标准 SQL 语句来查询、更新和删除远程表的数据。