leeand00 Asked: 2014-07-29 12:37:27 +0800 CST2014-07-29 12:37:27 +0800 CST 2014-07-29 12:37:27 +0800 CST 链接服务器之间的连接很危险,所以我们可以在连接之前将数据加载到本地表中吗? 772 我刚刚阅读了以下文章,其中指出在两个链接服务器之间进行 JOIN 是最糟糕的做法。我能看到的唯一选择是从两个链接服务器获取必要的数据并将它们加载到 SQL Server 实例中的临时表中,然后进行连接。这是可取的吗?还是有其他的行动方案? sql-server-2008-r2 linked-server 2 个回答 Voted Best Answer SandraV 2014-07-29T12:50:04+08:002014-07-29T12:50:04+08:00 我在数据同步作业中使用了这种技术。如果您不需要来自远程服务器的整个表(只需几列,或者您可以在 WHERE 子句中将其过滤掉),它会有所帮助。而且,通过将数据放入您工作最多的实例上的临时表中,您可以根据需要为临时表编制索引,并获得对您正在做的工作有帮助的统计信息。 当然,如果您尝试非常频繁地执行此操作,它可能不是您的最佳解决方案。也许是SSIS? Dragick 2014-07-29T16:49:27+08:002014-07-29T16:49:27+08:00 是的,将数据从两台服务器带到一台服务器,然后在那里加入。当我设置它时,企业坚持认为它是每月一次的报告,结果是每周一次……所以我设置了一个 SQL 作业,将数据从一台服务器移动到另一台服务器,进入暂存数据库。Job 会截断临时表,然后是一个 SELECT INTO 只抓取它需要的数据。
我在数据同步作业中使用了这种技术。如果您不需要来自远程服务器的整个表(只需几列,或者您可以在 WHERE 子句中将其过滤掉),它会有所帮助。而且,通过将数据放入您工作最多的实例上的临时表中,您可以根据需要为临时表编制索引,并获得对您正在做的工作有帮助的统计信息。
当然,如果您尝试非常频繁地执行此操作,它可能不是您的最佳解决方案。也许是SSIS?
是的,将数据从两台服务器带到一台服务器,然后在那里加入。当我设置它时,企业坚持认为它是每月一次的报告,结果是每周一次……所以我设置了一个 SQL 作业,将数据从一台服务器移动到另一台服务器,进入暂存数据库。Job 会截断临时表,然后是一个 SELECT INTO 只抓取它需要的数据。