2014-02-15 5 views
0

Я хочу скопировать весь контент (таблицы, таблицы данных, хранимые процедуры, триггеры) из одной базы данных. В базу данных B. В эту базу данных содержится большое количество данных, поэтому невозможно создать сценарий. Если база данных A содержит таблицу X, а база данных B содержит таблицу X, Y. Затем она заменяет таблицу X, но не влияет на таблицу Y. Если таблица P зависит от таблицы Q, тогда она должна скопировать таблицу Q сначала, а затем скопировать таблицу P.Скопировать объекты из одной базы данных в другую

Есть ли способ сделать это? Используя студию управления сервером sql или SSIS?

Заранее спасибо.

ответ

2

Возможно создание пакета миграции с SSIS, но это будет большая работа, если есть много таблиц.

Я бы порекомендовал вам использовать сторонние инструменты. Сначала выполните схему, чтобы создать таблицы в базе данных B, а затем запустите diff данных для перемещения/слияния данных.

Я использую инструменты Redgate (у меня нет связи с компанией), но есть другие, если вы ищете их в Интернете.

+0

Приятно знать, что вы используете инструмент redgate, я думаю, что его называют что-то вроде схемы Compare. Я просто хотел знать, какой размер базы данных это то, что вы сравниваете схему с redgate (приблизительное количество таблиц и приблизительно количество строк в вашей базе данных) и сколько времени это займет. –

+0

И можете ли вы настроить задачу в redgate для выполнения этой схемы и сопоставления данных с заданными интервалами времени, как каждые 15 минут или около того ??? –

+0

@ M.Ali. База данных, в которой я использовал инструменты, содержит около 115 объектов (таблицы, процедуры, представления и т. Д.) И самую большую таблицу размером около 4,5 м. Инструменты сравнения SQL и SQL Data Compare работают довольно быстро, хотя я никогда не записывал, сколько времени требуется. Я бы не использовал их (и я не уверен, что это возможно) для запланированных обновлений; используйте репликацию для этих ситуаций. – Tony

Смежные вопросы