проверка переноса данных в Sql server 2005 - PullRequest
0 голосов
/ 14 февраля 2012

Я мигрирую данные из таблицы базы данных не в Юникоде в таблицу базы данных Юникод. У нас около 40 таблиц, и нам нужно выполнить как минимум проверку количества строк для перенесенных данных.

Повторное написание одного и того же кода для проверки всех таблиц кажется неправильным способом.

Итак, каков правильный способ проверки переноса данных.

Я использую T-SQL и ищу примеры кода для проверки количества строк.

1 Ответ

0 голосов
/ 14 февраля 2012

Этот запрос сравнивает таблицы в двух базах данных и возвращает те, где количество строк отличается или таблица отсутствует в одной из баз данных.Замените AAA и BBB именами баз данных в вашей системе.

SELECT 
    DbB.Name DbBName, DbA.Rows DbARows, DbB.Rows DbBRows
FROM
    (
    SELECT DISTINCT p.rows Rows, tbl.name Name
    FROM  AAA.sys.tables AS tbl INNER JOIN AAA.sys.partitions AS p ON p.object_id = tbl.object_id
    ) DbA
    FULL OUTER JOIN 
    (
    SELECT DISTINCT p.rows Rows, tbl.name Name
    FROM  BBB.sys.tables AS tbl INNER JOIN BBB.sys.partitions AS p ON p.object_id = tbl.object_id
    ) DbB ON DbA.Name = DbB.Name
WHERE
    DbA.Rows <> DbB.Rows OR DbA.Rows IS NULL OR DbB.Rows IS NULL

Если базы данных находятся на другом сервере, создайте Linked Server и используйте полные имена таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...