0
我正在通过本地工作站上的SQL Server 2008 Express在链接的SQL Server 2000上做一些工作。 SQL2000坐在一个非常令人印象深刻的机架上,有很多可用的资源,所以我想尽可能使用它。LinkedServer远程执行
我正在处理在远程表上以TEXT
格式存储的XML字符串。我原来的查询它所包含的子查询,如下所示:
SELECT Id, FolderId, CAST(REPLACE(CAST(Content AS VARCHAR(MAX)) AS XML), 'encoding="utf-16"', '') AS ContentXML
FROM [LinkedServer].[UPLSalesP].[dbo].[RSSDocument]
但是我只能推测,大部分的子查询被我的工作站,而不是在机架上执行,既不VARCHAR(MAX)
或XML
数据类型在SQL2000可用。在250万行上执行上述查询10小时后,内存发生故障并中止。
我推定它的执行位置是否正确?如果我将其更改为以下内容:
SELECT Id, FolderId, REPLACE(CAST(Content AS VARCHAR(8000)), 'encoding="utf-16"', '') AS ContentXML
FROM [LinkedServer].[UPLSalesP].[dbo].[RSSDocument]
子查询是否会首先远程执行?是否可以通过这种方式获得任何效率,然后在本地2008 Express实例中转换为XML
?