大量のデータとはどういう意味ですか? 大きなブロブ フィールドまたは多数の行? 後者が理由である場合は、データをチャンクで返すように手順を変更し、アダプターで PollWhileDataAvailable = true を設定します。
私の現在のプロジェクトの 1 つで、このようなプロシージャ コードを使用してデータをチャンクで取得します。
DECLARE @SubsetOfChanges TABLE (ChangeID BIGINT PRIMARY KEY)
INSERT INTO @SubsetOfChanges
SELECT TOP 100 ChangeID FROM bts_DatabaseChanges WHERE Processed = 0 AND TableName = 'Producer'
SELECT p.*, changes.Operation as operation, changes.RowKey AS original_id
FROM (SELECT * FROM bts_DatabaseChanges WHERE ChangeID IN (SELECT * FROM @SubsetOfChanges)) AS changes
JOIN [region].[dbo].crm_clsProducer p ON changes.RowKey = p.producer_id
UPDATE bts_DatabaseChanges
SET Processed = 1
WHERE ChangeID IN (SELECT * FROM @SubsetOfChanges)
bts_DatabaseChanges は、DB 内のすべての変更のログ テーブルです。