Мартин Смит на 100% прав ... даже при условии, что нужно переименовать много столбцов.
Подобные оптовые изменения могут вызвать проблемы, путаницу и коллизии.
Тем не менее, вот небольшой динамический SQL, который вы можете выполнять с осторожностью. Обратите внимание, что я печатаю SQL, а не выполняю его.
Пример
Declare @SQL varchar(max) = ''
Select @SQL = @SQL + 'EXEC sp_rename ''' + quotename(table_name)+'.' + quotename(column_name) +''',''' + replace(column_name,' ','_') + ''';'+char(13)
From INFORMATION_SCHEMA.COLUMNS
Where charindex(' ',Column_Name)>0
and table_name = 'SomeDesiredTableName'
Print @SQL
--Exec(@SQL)