Если вы предоставите больше информации, я смогу дать более конкретный ответ. Может быть, вы могли бы привести несколько примеров различных сценариев.
Общий ответ заключается в том, что вам нужно найти различные сценарии и решить, как вы будете делать это вручную. например Если это просто изменение столбца без зависимостей, то вы, ALTER TABLE, получите правильный результат. Если вам неудобно создавать SQL, вы можете использовать конструктор таблиц в Management Studio, и вместо сохранения изменений есть возможность сгенерировать SQL.
Как только вы получите образец SQL для каждого сценария, используйте таблицы INFORMATION_SCHEMA для динамического создания SQL-кода, чтобы найти каждый сценарий и построить правильный ALTER TABLE в качестве одного из столбцов. например
select 'ALTER TABLE [' + table_schema + '].[' + table_name + '] ALTER COLUMN [' + column_name + '] varchar(5);' FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME like '%office%'
Поскольку вы работаете с несколькими базами данных и серверами, вы можете использовать sys.databases или sp_msforeachdb для применения к каждой базе данных. Чтобы перейти на несколько серверов, вы можете использовать связанные серверы или, поскольку их всего 5, вы можете просто применить один и тот же процесс 5 раз.
надеюсь, что это поможет