2010-03-16 2 views
0

Мы переносим собственную схему базы данных клиента на наш собственный (оба SQL-сервера). Большинство сопоставлений от их схемы к нашей были определены и согласованы правила, если столбцы точно не выравниваются (значения по умолчанию и т. Д.)Перенос базы данных

Раньше, в зависимости от того, кому была назначена задача, это было выполнено либо со смесью sql-скриптов или одноразовых приложений vb.

Я думал, что должно быть приложение (коммерческое или иное), где вы можете назначить эти сопоставления/правила и передать ему данные. Разумеется, настройка и настройка этого инструмента будет меньше, чем создание специальных скриптов ...

Есть ли приложение? Помимо очевидных «осторожных» советов по смягчению стресса не-DBA, переносящего одну схему в другую?

ответ

0

Не совсем. Проблема в том, что любое приложение, которое у вас было бы, было бы в любом случае фреймворком. Передача схемы, по определению, частично сложна. И инструмент, делающий половину материала, почти бесполезен - это легко сделать в SQL в любом случае;)

0

Я делаю такие вещи каждый день. из-за пользовательского характера нашего программного обеспечения, я обычно одноразовый. около 70% времени, я использую доступ MS в качестве посредника (в остальное время я пишу код для этого). Я загружаю исходные данные в мс-доступ, массирую его, а затем перемещаю в наши таблицы sql-сервера. доступ очень подходит для такого рода работ. главное, чтобы быть осторожным, это ваши ключи и дублирующие ограничения. я уверен, что есть готовые приложения для миграции данных, для моего использования, однако, мне нужно больше контроля, а доступ к ms позволяет мне повторно использовать некоторые части импорта данных, сохраняя при этом возможность настраивать все.

наилучшие пожелания, дон

1

Вы можете использовать миграции базы данных в коде.

Существует несколько библиотек миграции данных .net, которые были вдохновлены миграциями ruby. Они определяют изменения базы данных в коде.

Migrations позволяет разработчику управлять сведением и откатом изменений схемы базы данных контролируемым и последовательным образом.

Посмотрите на них:

+0

Большинство из них поддерживают массовые изменения схемы? Ни одна из таблиц именных карт (например: у нас есть префикс на всех наших), разные имена полей (некоторые из них множественные, некоторые - нет). –

+0

Вы в значительной степени определяете скрипт 'up' и' down' для изменений - он будет таким же всеобъемлющим, как вы его делаете. Они не изменят имя столбца глубоко в хранимой процедуре автоматически, если это вопрос. – Oded

+0

RikMigrations (несмотря на название) кажется лучшим выбором. –

1

Я использую инструмент ETL с открытым исходным кодом (извлечение/преобразование/загрузка), называемый Talend Open Studio для таких задач.

Вкратце, Talend Open Studio (TOS) представляет собой инструмент генерации кода GUI, в который вы подключаете различные компоненты для импорта, печати и экспорта данных, а полученный код - переносимый Java или Perl. Существует множество компонентов, которые помогут вам принимать решения о нестандартных данных (или вы всегда можете добавить свои собственные процедуры Java или Perl для самых сложных частей).

TOS доказал, что стоит того, что я изначально инвестировал в него ... поэтому я определенно рекомендую его.

+0

Хммм. Мы - магазин Microsoft, поэтому java/perl, вероятно, будет немного тяжело летать. –

+0

Моя компания также очень ориентирована на Microsoft ... но в наши дни почти невозможно избежать использования какой-либо Java. В нашем случае очень просто запустить JAR из Talend с помощью командной строки java.exe, даже из нашего программного обеспечения для управления заданиями на базе Windows. Но YMMV, конечно;) – ewall

0

Пробег: SQL Data Examiner. Этот инструмент позволяет сравнивать/синхронизировать результаты sql-запроса, поэтому вы можете записывать соответствующие запросы в обе базы данных и сравнивать/синхронизировать результаты, возвращаемые этими запросами.