Я согласен с Митчем, что это очень плохая идея, и вы должны бороться с ней до смерти. Тем не менее, существуют простые способы создания сценариев этого типа с использованием представлений каталога (, а не sp_MSForEachTable, который все равно возвращает только имена таблиц, а не имена столбцов, в любом случае).
Запустите это в одном окне:
SELECT 'EXEC sp_rename ''' + QUOTENAME(TABLE_SCHEMA)
+ '.' + QUOTENAME(TABLE_NAME) + '.'
+ QUOTENAME(COLUMN_NAME) + ''', '''
+ TABLE_NAME + '_' + COLUMN_NAME + ''', ''COLUMN'';'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME NOT LIKE TABLE_NAME + '[_]%';
Теперь скопируйте и вставьте вывод в новое окно. Проверьте его перед выполнением - и сначала проверьте его на тестовой базе данных!