@Directguard666

Как можно заресторить базу MSS .bak в Postgres?

Есть сайт, написанный на C#, база у него Microsoft Sql Server 2008, есть бекап этой базы в формате bak. Нужно бекап базы от MSS заресторить в Postgres.
Как я понимаю это не возможно, по причине то что MSS не имеет отношений к SQL. Возможно могу ошибаться.
  • Вопрос задан
  • 2002 просмотра
Решения вопроса 3
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Да, невозможно. Но не поэтому. MSS имеет отношение к SQL, это такая же РСУБД, как и PostgreSQL. Просто MSS и PostgreSQL говорят на разных диалектах SQL и используют разный формат резервной копии.

Обычно в таких случаях пишут ещё одну программу - механизм обмена данными, которая выгружает данные в промежуточной форме из одной базы и загружает их в другую.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Один из вариантов:
1. развернуть нужную версию MS SQL Server
2. восстановить бэкап базы
3. в SQL Management Studio жмакнуть на базе правой кнопкой и выбрать Script Database

В итоге может получится sql скрипт, который создает таблицы, строит между ними связи, наполняет их данными и создает процедуры, функции и триггеры.

Если последнего (процедур, функций и триггеров) нет - то выполнив этот скрипт с минимальной косметикой под диалект на другой СУБД - получим желаемое.

Если же есть процедуры, функции и триггеры - задача усложнится.
Ответ написан
Комментировать
@Directguard666 Автор вопроса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы