Я пытаюсь предоставить общее решение для переноса данных из одной версии схемы в другую. Проблема возникает, когда тип данных столбца из исходной схемы не совпадает с типом данных в целевой. Я хотел бы создать запрос, который будет выполнять предварительное сравнение типов данных столбцов, чтобы вернуть, какие столбцы необходимо исправить, прежде чем миграция станет возможной.
Мой текущий подход состоит в том, чтобы вернуть имена таблиц и столбцов из information_schema.columns, где значения DATA_TYPE между каталогами не совпадают. Однако прямой запрос information_schema вернет только результаты из каталога подключения.
Кто-нибудь писал такой запрос?


Мне всегда повезло иметь Red Gate Схема сравнения, который, я думаю, сделает то, о чем вы просите. Дешево в два раза дороже!
Red Gate производит хорошие продукты по разумным ценам. Их продукция стоит каждой копейки,
Я делаю это, напрямую запрашивая системные таблицы. Посмотрите таблицы syscolumns и sysobjects. Вы также можете присоединиться через связанные серверы
select t1.name as tname,c1.name as cname
from adventureworks.dbo.syscolumns c1
join adventureworks.dbo.sysobjects t1 on c1.id = t1.id
where t1.type = 'U'
order by t1.name,c1.colorder
Идентичны ли схемы, кроме типа данных?