Ми переносимо нашу базу даних на нову схему, але хочемо, щоб перевірити дані було переміщено правильно.
Традиційні засоби порівняння даних можуть порівнювати дві бази даних для відмінностей, якщо схеми однакові. У нашому випадку зміни дизайну таблиць були змінені, але всі дані зі старої схеми є в новій, її просто перемістили, і мені потрібно переконатися, що вона правильна. У нас є десятки мільйонів рядків, тому ручний огляд - це не варіант.
Чи є інструменти, які могли б допомогти у такому типі порівняння?
Якщо не існує бібліотек / рамок, які могли б допомогти розпочати розробку спеціального рішення?
Я радий використовувати рішення для бази даних, якщо це необхідно, в цьому випадку для SQL Server 2008.
Моє рішення: Я порівнюю два набори даних, створюючи VIEW
кожну таблицю в старій базі даних з тими ж полями, що і нову таблицю бази даних.
Потім я порівнюю дані, використовуючи описану тут техніку: Найкоротший, найшвидший і найпростіший спосіб порівняння двох таблиць у SQL Server: UNION!
Мені пощастило в цій міграції, оскільки загальна структура таблиці схожа на стару базу даних, при цьому поля переміщуються з однієї таблиці в іншу, випадають або додаються. У випадку відхиленого та доданого немає для порівняння нічого, для полів, які перемістилися або були агреговані, я роблю розрахунки, щоб подати правильну інформацію для порівняння.
У UNION
порівнянні показує мені тільки рядки з відмінностями, так як тільки дані вірні , я отримую порожній результуючий набір.