иногда мне нужно переместить данные из одной таблицы базы данных в другую таблицу в другой базе данных. Эти таблицы идентичны. Итак, я пытаюсь написать программу на C# Winforms, но не могу понять. Думаю, мне стоит использовать вот это:
INSERT INTO table2
SELECT *
FROM table1
WHERE condition;
Но как я могу выполнить эту команду sql, когда мне нужно два соединения? Или какой подход правильный?
Обновлено: Они не на одном сервере. Есть ли другой вариант, кроме связанных серверов?





Если две базы данных имеют один и тот же сервер, вы можете:
INSERT INTO [dbname].[schema].table2 (<column list >)
SELECT *
FROM [dbname].[schema].table1
WHERE condition;
Или, если на другом сервере: связанные серверы.
Они не на одном сервере. Забываю упомянуть. Связанные серверы - единственная возможность?
@ Kali26. . . Да, linked servers может быть возможным решением для этого.
В дополнение к ответу Йогеша, если базы данных находятся на разных серверах, вам понадобится настроить связанный сервер
Если вам нужно сделать на это более чем тривиальную сумму: приобретите инструмент, предназначенный для синхронизации данных между базами данных. Они могут показаться дорогими, но это будет дешевле, чем ваше время.