У нас есть устаревшая база данных с десятками схем, и мы вместо этого собираемся разбить эту базу данных на несколько меньших отдельных баз данных.
Можно ли как-нибудь создать новую базу данных натот же физический сервер, а затем перенести всю схему в новую базу данных?
Наши таблицы выглядят так:
Foo.Table1
Foo.Table2
Foo.Table3
...
Bar.Table1
Bar.Table2
...
Xxx.Table1
Xxx.Table2
...
... и я хочу переместить Foo.*
вновая база данных.
Обычно это рекомендуется делать с помощью какого-либо экспорта / импорта для каждой таблицы, но это довольно обременительно для 150+ таблиц в схеме.
Насколько мойтривиальное исследование идет, варианты кажутся следующими:
Экспорт / импорт каждой таблицы в отдельности.
Резервное копирование всей базы данных, восстановление в другом месте назначенияи удалите все остальное (болезненно, поскольку вся база данных составляет ~ 900 ГБ).
Разверните dacpac одиночной схемы в новой базе данных и выполните начальное заполнение кросс-базы данных, иначе:
INSERT INTO newDb.Foo.Table1 SELECT * FROM oldDb.Foo.Table1;
INSERT INTO newDb.Foo.Table2 SELECT * FROM oldDb.Foo.Table2;
INSERT INTO newDb.Foo.Table3 SELECT * FROM oldDb.Foo.Table3;
...
Все эти опции требуют больших усилий ... Есть ли другой подход, который просто переместит всю схему в новую базу данных?