Há algum tempo, devido à necessidade, os dados do banco de dados A precisam ser migrados para o banco B para que os dados em ambos os bancos de dados sejam iguais. Usei SSIS para completá-lo, porque era uma nova tabela criada por mim mesmo naquele momento, então, ao criar a tabela, adicionei o campo de rowversion para distinguir quais dados são diferentes entre os bancos de dados A e B, e só migrei dados com diferentes números de versão, sem copiar toda a tabela para melhorar a eficiência. No entanto, nem sempre é necessário operar em uma nova tabela, por exemplo, quando precisamos operar uma tabela existente, não há campo de rowversion nessa tabela para distinguir entre os dados antigos e novos, o que devemos fazer então?
Na verdade, antes de entrar em contato com o banco de dados do SQL Server, usei o banco de dados Mysql, que teria um binlog para registrar quais dados foram manipulados, mas o SQL Server não tinha binlog, ele tinha um arquivo de log de transações baiTransaction Log File é um arquivo usado para registrar atualizações de banco de dados, com a extensão ldf. Você pode comprimir os logs e usar uma ferramenta de terceiros para visualizar os logs. Por exemplo, explore logs para visualizar arquivos de log SQL.
Para uma análise detalhada do Thing Log, confira este blog https://www.cnblogs.com/CareySon/archive/2012/02/14/2351149.html
|