您好!根据您的问题,您想了解如何在一个 SQL Server 数据库中更新另一个 SQL Server 数据库上的数据。这可以通过使用链接服务器或者使用 OPENROWSET 或 OPENQUERY 函数来实现。
链接服务器是一个 SQL Server 对象,它允许您将一个 SQL Server 实例连接到另一个 SQL Server 实例。这样,您可以在一个 SQL Server 实例上执行查询,并从另一个 SQL Server 实例中检索数据。以下是如何创建链接服务器的示例:
-- 创建链接服务器
EXEC sp_addlinkedserver
@server= 'RemoteServerName',
@srvproduct= '',
@provider= 'SQLNCLI',
@provstr= 'Data Source=RemoteServerName;Initial Catalog=RemoteDatabaseName;Integrated Security=SSPI'
然后,您可以使用四部分名称来引用链接服务器上的数据库对象,如下所示:
-- 从链接服务器上的数据库中选择数据
SELECT * FROM [RemoteServerName].[RemoteDatabaseName].[SchemaName].[TableName]
另一种方法是使用 OPENROWSET 或 OPENQUERY 函数。OPENROWSET 函数允许您在 SQL Server 中打开一个远程数据源,并从该数据源中选择数据。以下是使用 OPENROWSET 函数的示例:
-- 使用 OPENROWSET 函数从远程数据库中选择数据
SELECT * FROM OPENROWSET('SQLNCLI', 'Data Source=RemoteServerName;Initial Catalog=RemoteDatabaseName;Integrated Security=SSPI',
'SELECT * FROM [RemoteDatabaseName].[SchemaName].[TableName]')
OPENQUERY 函数类似于 OPENROWSET,但它使用链接服务器上定义的查询。以下是使用 OPENQUERY 函数的示例:
-- 使用 OPENQUERY 函数从远程数据库中选择数据
SELECT * FROM OPENQUERY(RemoteServerName, 'SELECT * FROM [RemoteDatabaseName].[SchemaName].[TableName]')
请注意,这些示例中使用的连接字符串假定您使用的是 Windows 身份验证。如果您需要使用 SQL Server 身份验证,请将“Integrated Security=SSPI”更改为“User ID=username;Password=password”,其中“username”和“password”是您的 SQL Server 身份验证凭据。
希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。
中国数据库前世今生
云+社区技术沙龙[第19期]
云+社区技术沙龙[第17期]
云+社区沙龙online [新技术实践]
云+社区技术沙龙[第25期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区沙龙online [国产数据库]
领取专属 10元无门槛券
手把手带您无忧上云