SELECT OBJECT_SCHEMA_NAME([object_id]),
OBJECT_NAME([object_id]),
name
FROM sys.columns
WHERE system_type_id IN (35,99);
Вы даже можете сделать это, чтобы сгенерировать набор команд для изменения таблиц:
SELECT 'ALTER TABLE '
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(OBJECT_NAME([object_id]))
+ ' ALTER COLUMN ' + QUOTENAME(name)
+ ' ' + CASE system_type_id WHEN 99 THEN 'N' ELSE '' END
+ 'VARCHAR(MAX);'
FROM sys.columns
WHERE system_type_id IN (35,99);
Конечно, вы также захотите иметь дело с обнуляемостью и т. Д., Но это только отправная точка.