У меня работает 2 сервера MSSQL с более или менее одинаковым набором данных. Это действительно установка для производства / разработки.
Теперь мой рабочий процесс такой. Ежедневно создается резервная копия каждой базы данных на рабочем сервере. Я передаю резервные копии через Интернет (10 гигабайт) на сервер разработки. Я «восстанавливаю» базу данных на сервере разработки, используя резервную копию с рабочего сервера, так что у меня есть текущий набор данных.
У меня такой вопрос:
Есть ли простой и быстрый способ «экспортировать» одну таблицу из базы данных сервера MSSQL и импортировать ее в базу данных на другом сервере MSSQL?
Меня больше интересует операция «передового опыта», чем какой-нибудь трюк с кассовым терминалом, подстроенный жюри.
ОБНОВИТЬ
После некоторого поиска в Google я нашел функцию сервера MSSQL, которая создает сценарий, который экспортирует таблицу и импортирует ее при запуске. Я не могу использовать это, так как мне нужно импортировать таблицу на другой сервер.
Ответ на вопрос об экспорте был дан в DBA:
https://dba.stackexchange.com/questions/25755/taking-a-backup-of-a-single-table-in-the-sql-server
О том, как экспортировать одну таблицу на SQL-сервере, тоже много раз говорили в Stackoverflow:
https://stackoverflow.com/questions/680552/table-level-backup
Google дает еще много способов:
Как только у вас есть экспорт отдельной таблицы, перенесите ее любым способом (например, rsync или SFTP, scp), а затем импортируйте.
Вы также можете получить данные напрямую через SQL на вашем целевом сервере. Если у вас есть доступ к сети:
SELECT a.*
INTO <YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
'SELECT *
FROM <YOUR TABLE>
') AS a;
Но вы должны сами создавать индексы.
Или вы используете INSERT:
INSERT INTO
<YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
'SELECT *
FROM <YOUR TABLE>
') AS a;