ecuperando bilhões de linhas do servidor remot

Estou tentando recuperar cerca de 200 bilhões de linhas de um SQL Server remoto. Para otimizar isso, limitei minha consulta para usar apenas uma coluna indexada como filtro e estou selecionando apenas um subconjunto de colunas para que a consulta fique assim:

SELECT ColA, ColB, ColC FROM <Database> WHERE RecordDate BETWEEN '' AND ''

Mas parece que, a menos que eu limite minha consulta a uma janela de tempo de algumas horas, a consulta falhará em todos os casos com o seguinte erro:

OLE DB provider "SQLNCLI10" for linked server "<>" returned message "Query timeout expired".
Msg 7399, Level 16, State 1, Server M<, Line 1
The OLE DB provider "SQLNCLI10" for linked server "<>" reported an error. Execution terminated by the provider because a resource limit was reached.
Msg 7421, Level 16, State 2, Server <>, Line 1
Cannot fetch the rowset from OLE DB provider "SQLNCLI10" for linked server "<>". 

O tempo limite provavelmente é um problema devido ao tempo necessário para executar o plano de consulta. Como não tenho controle sobre o servidor, fiquei pensando se existe uma boa maneira de recuperar esses dados além do simplesSELECT Estou usando. Existem truques específicos do SQL Server que posso usar? Talvez diga ao servidor remoto para paginar os dados em vez de emitir várias consultas ou outra coisa? Alguma sugestão de como eu poderia melhorar isso?

questionAnswers(7)

yourAnswerToTheQuestion