使用链接服务器限制SELECT语句的行数

时间:2010-08-19 13:53:44

标签: sql-server tsql linked-server rowcount

我有这些链接服务器,A和B.服务器A运行SQL Server 2008,B运行SQL Server 2000.

我编写了一个脚本,用于将数据从一堆表中从B迁移到A.数据非常敏感,所以我恐怕不能告诉你了。但是,我可以告诉你,我们正在讨论大量数据,最糟糕的情况是每个SELECT约300k行。我有点担心数据量会在内存中占多少。

我的第一个问题是我可以使用ROWCOUNT来限制SELECT,只是循环遍历语句,直到所有行都被传输完毕。但后来我在某地读到你不能将这种技术用于链接服务器,但我现在似乎无法找到对它的引用。

所以,我的问题是双重的:
a)在处理链接服务器时,您是否真的不能使用上述技术? (如果我的PM允许,我会亲自测试)。

b)如果答案是肯定的,那么关于如何保证两台服务器都可以处理迁移的任何想法都会出现?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你每次选择都要做300K,但你要迁移的整个表格要大得多。如果是这种情况,您可能需要考虑SQL Server中可用的Bulk Import/Export options之一。

答案 1 :(得分:0)

我终于让我的PM为使用两台服务器的克隆版本进行一些实验提供了绿灯。事实证明,在内存中保留这么多行似乎与SQL Server不匹配。