-2

关于以下内容,您如何将(可能很大)表的内容从本地数据库传输到远程托管的数据库

  • 目标表中不允许有重复条目
  • 数据流量应保持在最低限度

?

在本地,我在远程主机上有 SQL Server Express:SQL Server Standard。

4

1 回答 1

0

根据您的托管服务提供商的“距离”(--> 带宽),运行涉及来自两个数据库的表的查询通常不是一个好主意,尽管从技术上讲,这可以使用 MSSQL-studio。

我的建议:将所有内容从本地表(例如tbl)上传到名为的服务器表中tmptbl,然后使用以下命令在远程系统上进行插入

INSERT INTO tbl (id,col1,col2,col3, ...) 
SELECT id,col1,col2,col3, ... FROM tmptbl WHERE id NOT IN (
 SELECT id FROM tbl
)

之后您可以再次DROP导入表tmptbl...此示例假定id唯一标识您的记录。我仍然明确命名所有列,以防每个表中都有进一步的auto_increment-ed PRIMARY KEY

编辑:

或者(理论上)可以通过使用链接远程服务器的表直接在两台服务器的表之间应用上述语句sp_addlinkedserver,请参阅MSSQL 手册。我过去也尝试过,但发现由于服务器之间的带宽有限,性能非常糟糕,尤其是在涉及更大的表时。

于 2013-08-03T11:25:45.720 回答