сначала создайте столбец, если он не существует:
ALTER TABLE database2..targetTable
ADD targetColumn int null -- or whatever column definition is needed
и поскольку вы используете Sql Server 2005, вы можете использовать новый оператор MERGE .
Оператор MERGE обладает тем преимуществом, что может обрабатывать все ситуации в одном операторе , например, пропущенные строки из источника (можно делать вставки), пропущенные строки из пункта назначения (можно удалять), сопоставление строки (можно делать обновления), и все делается атомарно в одной транзакции. Пример:
MERGE database2..targetTable AS t
USING (SELECT sourceColumn FROM sourceDatabase1..sourceTable) as s
ON t.PrimaryKeyCol = s.PrimaryKeyCol -- or whatever the match should be bassed on
WHEN MATCHED THEN
UPDATE SET t.targetColumn = s.sourceColumn
WHEN NOT MATCHED THEN
INSERT (targetColumn, [other columns ...]) VALUES (s.sourceColumn, [other values ..])
Оператор MERGE был введен для решения таких случаев, как ваш, и я рекомендую использовать его, он намного мощнее, чем решения, использующие несколько команд SQL-команд, которые в основном выполняют то же самое, что MERGE делает в одном операторе без дополнительной сложности.