Можно ли копировать записи из одной таблицы БД на одном сервере в другую таблицу БД на другом сервере, используя какой-либо запрос? (обе таблицы одинаковы) - PullRequest
2 голосов
/ 09 мая 2011

Я хочу передать данные с нашего производственного сервера на мой локальный сервер разработки для тестирования.Мне было интересно, если есть какой-либо способ, с помощью которого я могу скопировать записи из таблицы базы данных сервера prod в мою локальную таблицу базы данных, используя запрос SQL.Таблицы абсолютно одинаковы с точки зрения имен столбцов и типов данных.

Я знаю, что могу это сделать, передав дамп в файл и затем загрузив его с помощью infile.Хотя я использую MySQL, я хотел бы знать, возможно ли это сделать и в других базах данных, и если да, то как?

Ответы [ 4 ]

2 голосов
/ 09 мая 2011

Что касается MySQL, вероятно, самый простой способ сделать это с помощью mysqladmin ( link ):

mysqladmin create db_name
mysqldump -h 'other_hostname' --compress db_name | mysql db_name

С DB2 вы можете сделать это с помощью трехкомпонентных имен таблиц (subsystem.authid.object), если ваш администратор БД определил доступ к удаленной подсистеме.

Чтобы это работало, DB2, выполняющая пересылку, должна быть в Z / OS. DB2 L (inux) U (nix) W (indows) не поддерживает эту функцию. Смотри здесь.

Синтаксис использует INSERT в основном как с обычной вставкой:

INSERT INTO table (n1, n2, ... nx) 
SELECT n1, n2, ... nx
FROM subsystem.authid.object
WHERE ...

и т.д.

1 голос
/ 14 мая 2011

Возможно вставить данные из одной таблицы базы данных сервера в другую таблицу базы данных сервера. используя много способов (1) Oledb перевод из утилиты ЭКСПОРТ и ИМПОРТ Это базовая утилита GUI. (2) Делая связанный сервер: - Для этого сначала необходимо создать сервер ссылок в целевой базе данных исходной базы данных. Обозреватель объектов => Объект сервера => Связанный сервер => Новый связанный сервер => Имя и логин сервера и пароль

И тогда Вы можете перебить таблицы другой базы данных на другом сервере.

1 голос
/ 09 мая 2011

Все основные базы данных имеют функцию репликации или стороннее программное обеспечение, которое ее реализует.Похоже, вы в полшага от необходимости всех его функций, поэтому я бы посоветовал рассмотреть это!http://www.adderpit.com/practical-postgresql/x8695.htm

Надеюсь, что поможет

1 голос
/ 09 мая 2011

В случае SQL Server , вы можете использовать простой оператор SELECT INTO, если вы определите связанный сервер :

SELECT Column1, Column2, ...
INTO dbo.TableName
FROM LinkedServerName.DatabaseName.dbo.TableName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...