Existem várias soluções possíveis para esse problema. Escolher o caminho certo depende do seu ambiente e dos seus requisitos, que não são detalhados aqui.
Com base na sua necessidade declarada de consultar a totalidade da tabela multimilionária (ou bilhões), espero que você precise fazer alguns relatórios do banco de dados dos fornecedores. Aqui estão algumas soluções possíveis que eu consideraria atingir esse objetivo:
- READ UNCOMMITTED: execute suas consultas como READ UNCOMMITTED (por exemplo, WITH NÃO FECHE). Isso garantirá que as consultas e as atividades de OLTP não estão interferindo uns com os outros, embora seus resultados possam pouco sujo se você estiver consultando dados atualizados.
- Instantâneos: crie instantâneos de banco de dados para consultas somente leitura. Atualizar eles regularmente, ou antes de executar os relatórios (se eles são ad hoc). Se o desempenho do relatório for o único motivo pelo qual você deseja limpar os dados da tabela, esta pode ser sua melhor solução.
- ETL: Crie um banco de dados _Archive no mesmo servidor que contém o tabela (s) necessária (s). Populá-los a partir do prod DB com um trabalho de arquivamento diário / semanal / mensal que transfere dados para ele do prod DB, depois apaga do prod após a inserção ser bem sucedida.
Um pouco mais de informação pode nos ajudar a ajudá-lo melhor.