Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
Есть довольно-таки простая задача: На рабочем сервере в рабочей базе что-то происходит. Хочу каждые три-пять минут забирать информацию с рабочего сервера на свой и уже оттуда делать "отчёты". Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются. В какую сторону смотреть что бы нагрузка на основной сервер была минимальной? Целостность/непротиворечивость данных на вторичном сервере в "отчётной базе" не нужна. Даже если дублирование раз в год/квартал/месяц/неделю отвалится на полдня,- то это не сильно страшно. Дифференцированные бэкапы в силу высокой частоты обновлений не приветствуются. Пока думаю насчёт растянутого по времени копирования таблиц типа truncate table MyTable; Insert into MyTable (field1, field2...) select field1, field2... from LinkedServer.WorkDataBase.dbo.SourceTable WITH (NOLOCK). Но есть два момента: 1. есть длииииинные таблицы (новые строки в них я чётко вижу, а вот удаление старых гарантированно на 100% "засечь" не могу) 2. есть всё-таки связанные первичными/внешними ключами таблицы (и это как раз "длиииинные таблицы) которые лучше вытаскивать попарно,- что не есть хорошо при их объёме. Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....) хотя бы примерно, что бы оценить нагрузку на основной сервер. Модель восстановления - simple (но это не принципиально) Исходный сервер - MSSQL 2008 R2 , целевой 2012 или любой другой (не принципиально). С рабочим (исходным) MSSQL Server (и Win Server) могу много чего делать (в рамках разумного), с отчётным сервером (как с сиквелом, так и с виндой вообще) - всё что можно через терминальное окно локальному (и не только) администратору. -------------------------- No ROM Basic... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 20:21 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....)Про технологию "снэпшоты" я не в курсе, а AlwaysOn реализуется через передачу и применение лога на вторичных репликах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 03:01 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Пока думаю насчёт растянутого по времени копирования таблиц типа truncate table MyTable; Insert into MyTable (field1, field2...) select field1, field2... from LinkedServer.WorkDataBase.dbo.SourceTable WITH (NOLOCK). Но есть два момента: 1. есть длииииинные таблицы (новые строки в них я чётко вижу, а вот удаление старых гарантированно на 100% "засечь" не могу) 2. есть всё-таки связанные первичными/внешними ключами таблицы (и это как раз "длиииинные таблицы) которые лучше вытаскивать попарно,- что не есть хорошо при их объёме. Буду краток. https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 05:44 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
Relic HunterSIMPLicity_Пока думаю насчёт растянутого по времени копирования таблиц типа truncate table MyTable; Insert into MyTable (field1, field2...) select field1, field2... from LinkedServer.WorkDataBase.dbo.SourceTable WITH (NOLOCK). Но есть два момента: 1. есть длииииинные таблицы (новые строки в них я чётко вижу, а вот удаление старых гарантированно на 100% "засечь" не могу) 2. есть всё-таки связанные первичными/внешними ключами таблицы (и это как раз "длиииинные таблицы) которые лучше вытаскивать попарно,- что не есть хорошо при их объёме. Буду краток. https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-2017 Ога merge одной нехилой таблицы в другую нехилую таблицу... это как раз для тредстартера. ЗЫ. Тредстартер, по факту, хочет самопальную репликацию. Т.е. чудак, но на известную букву. Ну, флаг ему в руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 08:44 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
па сабжу: Чтобы минимизировать обмен, нужно четко знать, что забирать. Нужно как-то помечать измененные и удаленные записи. Только тогда можно уменьшить трафик. Удаление можно логгировать триггером (логгировать только список ключей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 09:44 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
Change Data Capture (CDC)+ SSIS-пакеты для перевозки данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 10:15 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются.Это не обязательно приводит к невозможности использовать штатную репликацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 10:30 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....) хотя бы примерно, что бы оценить нагрузку на основной сервер. Снэпшоты - это настроить зеркалирование и периодически делать на зеркальном сервере снэпшоты БД. Чтобы не было задержек при фиксации транзакций на основном сервере, настраивается асинхронное зеркалирование. Зеркало будет отставать всего на несколько секунд, но снэпшоты будет отражать состояние БД на момент их снятия. Поэтому придется периодически снимать новые, и решать как при этом не затронуть уже запущенные отчеты. Снятие снэпшотов на основной сервер влиять не должно, влияет только само зеркалирование. Все записи из лога транзакций сжимаются и отправляются на зеркало. Можно пустить этот трафик по другому сетевому интерфейсу, чтобы не мешать основной нагрузке. Дополнительные плюсы зеркалирования: - настраивается проще любого другого средства высокой доступности - появится резервная копия БД, куда можно переключиться в случае сбоя основного сервера - битые страницы на основном сервере автоматически восстанавливаются с зеркального SIMPLicity_удаление старых гарантированно на 100% "засечь" не могу Кроме Change Data Capture можно использовать еще и Change Tracking. CT есть даже в Standard версии Sql сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 12:15 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
Relic HunterSIMPLicity_Пока думаю насчёт растянутого по времени копирования таблиц типа truncate table MyTable; Insert into MyTable (field1, field2...) select field1, field2... from LinkedServer.WorkDataBase.dbo.SourceTable WITH (NOLOCK). Но есть два момента: 1. есть длииииинные таблицы (новые строки в них я чётко вижу, а вот удаление старых гарантированно на 100% "засечь" не могу) 2. есть всё-таки связанные первичными/внешними ключами таблицы (и это как раз "длиииинные таблицы) которые лучше вытаскивать попарно,- что не есть хорошо при их объёме. Буду краток. https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-2017 Ээээ.... это точно "ТА" ссылка? Для мерджа нужны как минимум две таблицы и одна из них должна быть высосана с сервера-источника. Вопрос - как "легко" высосать таблицу. а не как найти "прибитые" записи.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 19:44 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
aleks222Relic Hunterпропущено... Буду краток. https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-2017 Ога merge одной нехилой таблицы в другую нехилую таблицу... это как раз для тредстартера. ЗЫ. Тредстартер, по факту, хочет самопальную репликацию. Т.е. чудак, но на известную букву. Ну, флаг ему в руки. Это пройденный этап и ни чего страшного в подобном нет. Репликация в MS SQL Server изначально "самопальная" была (я по общему принципу, - в версиях 6.5, 7 и 2000, - добавлялись (при необходимости) поля, вешались триггера и проч... ) - и ни кого это особо не смущало. Вопрос был не совсем так поставлен.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 19:47 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
EleanorSIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....) хотя бы примерно, что бы оценить нагрузку на основной сервер. Снэпшоты - это настроить зеркалирование и периодически делать на зеркальном сервере снэпшоты БД. Чтобы не было задержек при фиксации транзакций на основном сервере, настраивается асинхронное зеркалирование. Зеркало будет отставать всего на несколько секунд, но снэпшоты будет отражать состояние БД на момент их снятия. Поэтому придется периодически снимать новые, и решать как при этом не затронуть уже запущенные отчеты. Снятие снэпшотов на основной сервер влиять не должно, влияет только само зеркалирование. Все записи из лога транзакций сжимаются и отправляются на зеркало. Можно пустить этот трафик по другому сетевому интерфейсу, чтобы не мешать основной нагрузке. Дополнительные плюсы зеркалирования: - настраивается проще любого другого средства высокой доступности - появится резервная копия БД, куда можно переключиться в случае сбоя основного сервера - битые страницы на основном сервере автоматически восстанавливаются с зеркального SIMPLicity_удаление старых гарантированно на 100% "засечь" не могу Кроме Change Data Capture можно использовать еще и Change Tracking. CT есть даже в Standard версии Sql сервера. Ок. Покопаюсь подробнее в этом направлении... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2018, 19:49 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
Service Broker ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 09:07 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_aleks222пропущено... Ога merge одной нехилой таблицы в другую нехилую таблицу... это как раз для тредстартера. ЗЫ. Тредстартер, по факту, хочет самопальную репликацию. Т.е. чудак, но на известную букву. Ну, флаг ему в руки. Это пройденный этап и ни чего страшного в подобном нет. Репликация в MS SQL Server изначально "самопальная" была (я по общему принципу, - в версиях 6.5, 7 и 2000, - добавлялись (при необходимости) поля, вешались триггера и проч... ) - и ни кого это особо не смущало. Вопрос был не совсем так поставлен.. Вопрос поставлен бездарно. Репликация транзакций - тоже репликация. А триггеров нема... https://docs.microsoft.com/ru-ru/sql/relational-databases/replication/transactional/transactional-replication?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 15:10 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются. хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 15:23 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
StarikNavySIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются. хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать. низачот: есть каршаринг и есть такси - надо только платить деньги и иметь права (для первого варианта) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 18:48 |
|
||
|
Популярно о технологиях переноса информации из базы в базу. Где почитать?
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_StarikNavyпропущено... хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать. низачот: есть каршаринг и есть такси - надо только платить деньги и иметь права (для первого варианта) ...Ну, есть бабло -- наймите, вам сделают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 19:17 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39637176&tid=1689819]: |
0ms |
get settings: |
6ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 400ms |

| 0 / 0 |
