Eu tenho uma tabela com pelo menos um milhão de registros. Essas linhas foram criadas por um aplicativo personalizado que lê vários conjuntos de sites do SharePoint e armazena as urls do item na tabela. Agora, como lemos os conjuntos de sites de maneira serial, os primeiros milhares de linhas pertencem ao primeiro conjunto de sites, os próximos milhares pertencem ao segundo conjunto de sites e assim por diante.
Tenho outro app que lê essa tabela de forma sequencial. Porém, desta forma acabo enviando requisições HTTP para o mesmo conjunto de sites por mais tempo.
Sei que poderia obter resultados aleatórios da tabela em meu segundo aplicativo. Mas, isso não é uma opção. Não posso mudar a maneira como o segundo aplicativo funciona.
Agora, a pergunta é: como posso pegar todas as linhas da tabela, embaralhá-las e armazená-las de volta na tabela?
Atualização: SQL Server 2008 R2 é meu servidor de banco de dados