Das Folgende wird Ihnen wahrscheinlich einen Plan geben, der Ihr gewünschtes Ergebnis erzielt, keine Zeilen zu verarbeiten, nachdem die 1.000ste gefunden wurde.
WITH CTE
AS (SELECT Text
FROM A
WHERE CONTAINS(Text, '"searchString"')
UNION ALL
SELECT Text
FROM B
WHERE CONTAINS(Text, '"searchString"')
UNION ALL
SELECT Text
FROM C
WHERE CONTAINS(Text, '"searchString"'))
INSERT INTO Results
SELECT TOP 1000 Text
FROM CTE