Есть ли одна команда sql для экспорта всей базы данных с одного сервера sql на другой? - PullRequest
4 голосов
/ 18 августа 2010

Меня попросили в интервью рассказать мне о различных способах экспорта базы данных с одного сервера sql на другой, я знал только о создании файла .bak и его восстановлении на другом сервере sql, который я им рассказал. Однако они спросили меня об одной команде SQL INSERT, которая будет выполнять эту задачу.

Я гуглил и не могу найти. Скажите, пожалуйста, есть ли такая команда?

Ответы [ 4 ]

6 голосов
/ 18 августа 2010

Я никогда не слышал о такой команде, и this - статья поддержки MS, в которой рассказывается, как перемещать базу данных между серверами. Он дает три варианта, ни один из которых не является одним оператором вставки, самый близкий использует sp_detach_db и sp_attach_db.

3 голосов
/ 18 августа 2010

Ну, с помощью оператора SQL вы можете сделать резервную копию и восстановление. Делая это с одним SQL INSERT ... Я никогда не слышал что-то подобное. Может быть, один стол. Но не вся база данных.

Другим способом было бы использовать «Копирование базы данных Wizzard».

Я также даю интервью, и иногда вы просто спрашиваете вещи, которые не существуют или не работают, и смотрите, что происходит.

2 голосов
/ 18 августа 2010

Если у вас уже есть связанный сервер, я думаю, вы могли бы использовать sp_msforeachtable вокруг INSERT INTO server2.tbl SELECT * FROM tbl.

Но это не будет обрабатывать зависимости порядка ссылочной целостности или сценарии, где вам может понадобиться IDENTITY INSERT, отключение триггеров или что-то еще.Обработка тривиальных случаев обычно по определению тривиальна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...