|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
синхронизация набора таблиц между бд - есть ли такой механизм? есть БД покупная ненормализованная полей с датой последнего изменения там нет, row_version тоже нет никаких ддл там делать нельзя таблиц в БД штук 1000, надо синхронизировать штук 100 на другую БД надо их синхронизировать с БД отчетов все таблицы синхронизировать не надо и нельзя, там очень много инфы пните куда почитать ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 11:55 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx, можно использовать Но придется написать условия для этих 100 таблиц MERGE (Transact-SQL) Выполняет операции вставки, обновления или удаления для целевой таблицы на основе результатов соединения с исходной таблицей. Например, можно синхронизировать две таблицы путем вставки, обновления или удаления строк в одной таблице на основании отличий, найденных в другой таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 11:59 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx синхронизация набора таблиц между бд - есть ли такой механизм? ... пните куда почитать Выбор реализации нужно начинать с определения требований. Можно "синхронизовать" репликацией, триггерами, пакетом SSIS, командами T-SQL из джоба через линке-сервер, в общем, вариантов много. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 12:28 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
Спасибо Что такое мёдж и апдейт я знаю Но хотелось узнать, есть ли какие не ручные механизмы, типа голденгейт в Оракле И сколько они стоят ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 12:30 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
В Microsoft SQL Server есть Change Data Capture (CDC). Может, Вам подойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 12:41 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx есть ли какие не ручные механизмы https://docs.microsoft.com/en-us/sql/relational-databases/replication/snapshot-replication?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 13:53 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov andreymx есть ли какие не ручные механизмы https://docs.microsoft.com/en-us/sql/relational-databases/replication/snapshot-replication?view=sql-server-ver15 админы отпинали ( только руками ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 14:09 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx, в VS есть сравнение схем баз данных, с его помощью можно создать недостающие таблицы. Заполнить из также можно сравнением данных, но если данных много, то скрипты получатся гигантскими и ком, скорее всего, их не переварит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 15:21 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
Владислав Колосов andreymx, в VS есть сравнение схем баз данных, с его помощью можно создать недостающие таблицы. Заполнить из также можно сравнением данных, но если данных много, то скрипты получатся гигантскими и ком, скорее всего, их не переварит. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 19:40 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx Но хотелось узнать, есть ли какие не ручные механизмы, типа голденгейт в Оракле Почему не использовать тот же golden gate? Есть еще аналог от информатики. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 20:18 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
Merge можно сгенерить. Вы же знаете откуда взять PK к таблицам. Если они есть конечно... А данные можно сравнить например по хэшу, заранее его кудато записав (пусть даже и в темп таблицу, если ддл совсем нельзя) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 21:47 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
ПК есть, и я их знаю Но как обновлять хеш, идею не просек ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2020, 21:58 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
А вам нужно синхронизировать таблицы, или просто периодически перетаскивать данные с одной базы в другую? И какой объем передаваемых данных? Гигабайт, 10, 100, Терабайт, больше? Если данных, например, до 10 Гб, и данные нужно не чаще, чем раз в 15 минут целиком таскать с одного сервера на другой, то проще не морочиться, а выгружать все данные целиком через bcp в натуральный формат, грузить их bulk-ком в рядомстоящие таблицы на сервере-приемники, а в конце делать alter table switch этих рядомстоящих таблиц в продуктивные. Идеи использовать CDC, или его эрзацы, типа добавления полей типа timestamp в отслеживаемые таблицы, или, чего доброго - добавление таблиц ключ/хеш на стороне источника, и периодические перерассчеты, чтобы выделить дельту данных, выгрузить и сделать merge на приемнике - они имеют смысл только тогда, когда объемы данных и каналы связи не позволяют быстро выгрузить и передать сразу всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 06:01 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
uaggster Если данных, например, до 10 Гб, и данные нужно не чаще, чем раз в 15 минут целиком таскать с одного сервера на другой, то проще не морочиться, а выгружать все данные целиком через bcp в натуральный формат, грузить их bulk-ком в рядомстоящие таблицы на сервере-приемники, а в конце делать alter table switch этих рядомстоящих таблиц в продуктивные. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 09:48 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
alexeyvg uaggster Если данных, например, до 10 Гб, и данные нужно не чаще, чем раз в 15 минут целиком таскать с одного сервера на другой, то проще не морочиться, а выгружать все данные целиком через bcp в натуральный формат, грузить их bulk-ком в рядомстоящие таблицы на сервере-приемники, а в конце делать alter table switch этих рядомстоящих таблиц в продуктивные. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 09:55 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx alexeyvg пропущено... Зачем все эти bcp? В снапшот-репликации уже всё сделано, если нужно синхронизировать периодически. Или в транзакционной, если нужно поддерживать "одинаковость" постоянно. Собственно, она так и работает: данные через bcp из таблиц в файлы, файлы передаём, данные из файлов в таблицы. Так хорошо, как МС, не написать, но в принципе ничего невозможного. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 10:52 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
alexeyvg andreymx пропущено... админы отказали в снапшот репликации Собственно, она так и работает: данные через bcp из таблиц в файлы, файлы передаём, данные из файлов в таблицы. Так хорошо, как МС, не написать, но в принципе ничего невозможного. Через ажур дата фактори, это у нас стандарт Но смущает количество таблиц, которое растёт Вчера ещё добавилась одна ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 11:21 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx, похоже, у вас наихудший сценарий поддержания баз в актуальном состоянии. Оптимальным было бы развертывание баз из проекта ил и использование скриптов развертывания от поставщика. Попробуйте добиться, все же, получения скриптов изменений. Если вы базы копируете нелегально - это другой вопрос, здесь придется попотеть. Для синхронизации таблиц достаточно удобно использовать SSIS пакеты - их легко дополнять новыми таблицами, колонками. Где-то придется хранить списки отгруженных ключей. Например, ключами для куч могут являться вычисленные хэш-суммы строк. Копирование будет не слишком эффективным из-за затрат на сравнение изменений. В пакетах можно организовать параллельные выполнения потоков, это ускорит сравнение и загрузку. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 13:20 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx alexeyvg пропущено... А, понял. Тогда да, придётся писать самодельную репликацию. Собственно, она так и работает: данные через bcp из таблиц в файлы, файлы передаём, данные из файлов в таблицы. Так хорошо, как МС, не написать, но в принципе ничего невозможного. Через ажур дата фактори, это у нас стандарт Но смущает количество таблиц, которое растёт Вчера ещё добавилась одна Пишите код, который копирует таблицы из списка, и всё, будет копировать. По сложности реализации тут главное, что нужно не поддерживать синхронизацию в реальном времени (свою мерж реликацию писать совсем грустно), а достаточно просто копировать, по расписанию. Тут ещё Владислав Колосов упоминал SSIS, это было бы ещё проще (пакет можно создать мастером импорта-экспорта), но при каждом изменении таблиц придётся пакет править, это вам вряд ли подойдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 21:19 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx да я думал Через ажур дата фактори, это у нас стандарт Но смущает количество таблиц, которое растёт Вчера ещё добавилась одна Самодельную не запрещают, а встроенную внутри СУБД запрещают. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2020, 21:22 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
alexeyvg andreymx да я думал Через ажур дата фактори, это у нас стандарт Но смущает количество таблиц, которое растёт Вчера ещё добавилась одна Самодельную не запрещают, а встроенную внутри СУБД запрещают. оффтоп On а че не ясно то ? в 1 случае по косякам вопросы будут к ним в 2-м случае к том кто писал самоделку оффтоп Off ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 14:47 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
Гулин Федор alexeyvg пропущено... Самое удивительное в этой истории то, что админы запрещают реплликацию. Самодельную не запрещают, а встроенную внутри СУБД запрещают. оффтоп On а че не ясно то ? в 1 случае по косякам вопросы будут к ним в 2-м случае к том кто писал самоделку оффтоп Off Тут ещё обсуждали преимущество узкой специализации в "Серьёзных Настоящих Компаниях" VS "дба всё-в-одном" в самоделкиных. А потом хардварные админы кивают на сисадминов, те на DBA, а те на программистов. Да, ещё сетевики, они тоже ни при чём. Ничего не рабготает, все молодцы, и никто не виноват. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 14:56 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
alexeyvg Гулин Федор пропущено... оффтоп On а че не ясно то ? в 1 случае по косякам вопросы будут к ним в 2-м случае к том кто писал самоделку оффтоп Off Тут ещё обсуждали преимущество узкой специализации в "Серьёзных Настоящих Компаниях" VS "дба всё-в-одном" в самоделкиных. А потом хардварные админы кивают на сисадминов, те на DBA, а те на программистов. Да, ещё сетевики, они тоже ни при чём. Ничего не рабготает, все молодцы, и никто не виноват. Идеологов много, а спросить не с кого Главный вопрос - на чьей же стороне сегодня мячик ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 15:50 |
|
синхронизация набора таблиц между бд
|
|||
---|---|---|---|
#18+
andreymx, ответ-то простой - надо ориентироваться в смежных специализациях, чтобы понять и показать с доказательствами - на чьей стороне проблема. Потому что достаточно какому-то из специалистов оказаться недостаточно компетентным или достаточно ленивым, чтобы решение забуксовало. Или необходим многопрофильный системный аналитик, понимающий картину в целом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2020, 11:14 |
|
|
start [/forum/topic.php?fid=46&msg=39953481&tid=1685848]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 422ms |
0 / 0 |