Eu preciso sincronizar uma tabela grande ~ 500 milhões de linhas sem uma chave primária entre o SQL Server e o MySQL. A tabela possui apenas um índice não exclusivo composto em cluster.
Eu tenho uma conexão ODBC entre os servidores, mas uma importação de ~ 8 milhões de linhas levou cerca de 45 minutos; portanto, acredito que uma importação única maior não seria razoável, pois podem ocorrer interrupções a qualquer momento. Não consigo alterar a estrutura da tabela existente, posso adicionar outras tabelas. Após uma leitura mais aprofundada, o deslocamento / busca não é uma opção para tabelas grandes. "Selecionar ... onde x entre ... e ..." não é uma opção, pois não tenho uma chave exclusiva.
Como posso exportar a tabela em lotes com garantia de conter todas as linhas? Meu problema é que, como a chave em cluster não é exclusiva, ordenar depois não garantiria que as linhas físicas tenham a mesma ordem entre consultas consecutivas e ordenar depois que todas as colunas levariam muito tempo. E como você recomendaria migrar os lotes por meio de arquivos ODBC ou CSV?