Sql 如何从不同服务器上的另一个表更新表

Sql 如何从不同服务器上的另一个表更新表,sql,sql-server,sql-update,Sql,Sql Server,Sql Update,我发现以下代码可以从另一个表更新表 UPDATE Sales_Import SET Sales_Import.AccountNumber = RAN.AccountNumber FROM Sales_Import SI INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID 但是,如果表位于不同的服务器上,并且其中一个是本地的,我可以这样做吗?Adham,我相信您可以转储该表并将其卸

我发现以下代码可以从另一个表更新表

UPDATE
    Sales_Import
SET
    Sales_Import.AccountNumber = RAN.AccountNumber
FROM
    Sales_Import SI
INNER JOIN
    RetrieveAccountNumber RAN
ON 
    SI.LeadID = RAN.LeadID

但是,如果表位于不同的服务器上,并且其中一个是本地的,我可以这样做吗?

Adham,我相信您可以转储该表并将其卸载到另一个数据库中:

mysqldump -uYOUR_USER -p db-name-from tablename | mysql -uYOUR_USER -p -h server-to db-name-to
它基本上是两个串联动作

如果是mysql,请尝试镜像(复制)。 或者尝试群集。
这一点在使用公共数据库链接的Oracle数据库中被超越了Oracle有数据库连接,它允许您在一个数据库中工作,并连接到完全不同的服务器上的完全不同的数据库。SQL Server也具有此功能,但在那里它被称为数据库链接


但是,据我所知,MySQL没有这个功能。

您可以使用链接服务器。在这种情况下,您应该使用{server\u name}.{database\u name}.{schema\u name}.{table\u name}格式来标识其他服务器上的表

如果其中一个表(例如RetrieveAccountNumber)位于另一台服务器上(您可以将其命名为),并且其中一个是本地表,则可以将查询重写为:

UPDATE
    Sales_Import
SET
    Sales_Import.AccountNumber = RAN.AccountNumber
FROM
    Sales_Import SI
INNER JOIN
    A.{the_database_name}.{schema_name}.RetrieveAccountNumber RAN
ON 
    SI.LeadID = RAN.LeadID

如果您想通过SQL查询实现这一点,那么您需要设置链接服务器,并使用类似于Enhnaran发布的语法

是有关链接服务器以及如何设置链接服务器的一般信息


如果您只需要做一次,那么您也可以考虑SQLServer导入/导出向导。< /P>如何将表从一台服务器更新到另一台服务器?