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
?