Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Популярно о технологиях переноса информации из базы в базу. Где почитать? / 16 сообщений из 16, страница 1 из 1
26.04.2018, 20:21
    #39637016
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
Есть довольно-таки простая задача:
На рабочем сервере в рабочей базе что-то происходит.
Хочу каждые три-пять минут забирать информацию с рабочего сервера на свой и уже оттуда делать "отчёты".
Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются.
В какую сторону смотреть что бы нагрузка на основной сервер была минимальной?
Целостность/непротиворечивость данных на вторичном сервере в "отчётной базе" не нужна. Даже если дублирование раз в год/квартал/месяц/неделю отвалится на полдня,- то это не сильно страшно.

Дифференцированные бэкапы в силу высокой частоты обновлений не приветствуются.

Пока думаю насчёт растянутого по времени копирования таблиц типа 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...
...
Рейтинг: 0 / 0
27.04.2018, 03:01
    #39637080
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
SIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....)Про технологию "снэпшоты" я не в курсе, а AlwaysOn реализуется через передачу и применение лога на вторичных репликах.
...
Рейтинг: 0 / 0
27.04.2018, 05:44
    #39637089
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
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
...
Рейтинг: 0 / 0
27.04.2018, 08:44
    #39637126
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
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 одной нехилой таблицы в другую нехилую таблицу... это как раз для тредстартера.

ЗЫ. Тредстартер, по факту, хочет самопальную репликацию. Т.е. чудак, но на известную букву.
Ну, флаг ему в руки.
...
Рейтинг: 0 / 0
27.04.2018, 09:44
    #39637160
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
па сабжу: Чтобы минимизировать обмен, нужно четко знать, что забирать.
Нужно как-то помечать измененные и удаленные записи. Только тогда можно уменьшить трафик.
Удаление можно логгировать триггером (логгировать только список ключей).
...
Рейтинг: 0 / 0
27.04.2018, 10:15
    #39637176
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
Change Data Capture (CDC)+ SSIS-пакеты для перевозки данных
...
Рейтинг: 0 / 0
27.04.2018, 10:30
    #39637190
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
SIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются.Это не обязательно приводит к невозможности использовать штатную репликацию.
...
Рейтинг: 0 / 0
27.04.2018, 12:15
    #39637336
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
SIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....) хотя бы примерно, что бы оценить нагрузку на основной сервер.

Снэпшоты - это настроить зеркалирование и периодически делать на зеркальном сервере снэпшоты БД.

Чтобы не было задержек при фиксации транзакций на основном сервере, настраивается асинхронное зеркалирование. Зеркало будет отставать всего на несколько секунд, но снэпшоты будет отражать состояние БД на момент их снятия. Поэтому придется периодически снимать новые, и решать как при этом не затронуть уже запущенные отчеты.

Снятие снэпшотов на основной сервер влиять не должно, влияет только само зеркалирование.
Все записи из лога транзакций сжимаются и отправляются на зеркало. Можно пустить этот трафик по другому сетевому интерфейсу, чтобы не мешать основной нагрузке.

Дополнительные плюсы зеркалирования:
- настраивается проще любого другого средства высокой доступности
- появится резервная копия БД, куда можно переключиться в случае сбоя основного сервера
- битые страницы на основном сервере автоматически восстанавливаются с зеркального

SIMPLicity_удаление старых гарантированно на 100% "засечь" не могу
Кроме Change Data Capture можно использовать еще и Change Tracking. CT есть даже в Standard версии Sql сервера.
...
Рейтинг: 0 / 0
27.04.2018, 19:44
    #39637714
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
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

Ээээ.... это точно "ТА" ссылка?
Для мерджа нужны как минимум две таблицы и одна из них должна быть высосана с сервера-источника. Вопрос - как "легко" высосать таблицу. а не как найти "прибитые" записи....
...
Рейтинг: 0 / 0
27.04.2018, 19:47
    #39637716
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
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, - добавлялись (при необходимости) поля, вешались триггера и проч... ) - и ни кого это особо не смущало.

Вопрос был не совсем так поставлен..
...
Рейтинг: 0 / 0
27.04.2018, 19:49
    #39637717
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
EleanorSIMPLicity_Хочу понять КАК реализуются механизмы (ну, типа, always on, снэпшоты ....) хотя бы примерно, что бы оценить нагрузку на основной сервер.

Снэпшоты - это настроить зеркалирование и периодически делать на зеркальном сервере снэпшоты БД.

Чтобы не было задержек при фиксации транзакций на основном сервере, настраивается асинхронное зеркалирование. Зеркало будет отставать всего на несколько секунд, но снэпшоты будет отражать состояние БД на момент их снятия. Поэтому придется периодически снимать новые, и решать как при этом не затронуть уже запущенные отчеты.

Снятие снэпшотов на основной сервер влиять не должно, влияет только само зеркалирование.
Все записи из лога транзакций сжимаются и отправляются на зеркало. Можно пустить этот трафик по другому сетевому интерфейсу, чтобы не мешать основной нагрузке.

Дополнительные плюсы зеркалирования:
- настраивается проще любого другого средства высокой доступности
- появится резервная копия БД, куда можно переключиться в случае сбоя основного сервера
- битые страницы на основном сервере автоматически восстанавливаются с зеркального

SIMPLicity_удаление старых гарантированно на 100% "засечь" не могу
Кроме Change Data Capture можно использовать еще и Change Tracking. CT есть даже в Standard версии Sql сервера.

Ок. Покопаюсь подробнее в этом направлении...
...
Рейтинг: 0 / 0
28.04.2018, 09:07
    #39637850
Барсук-копатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
Service Broker
...
Рейтинг: 0 / 0
28.04.2018, 15:10
    #39638066
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
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
...
Рейтинг: 0 / 0
28.04.2018, 15:23
    #39638078
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
SIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются.

хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать.
...
Рейтинг: 0 / 0
28.04.2018, 18:48
    #39638169
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
StarikNavySIMPLicity_Не хочу репликацию - там некоторые таблицы в минимальном варианте модифицируются.

хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать.
низачот: есть каршаринг и есть такси - надо только платить деньги и иметь права (для первого варианта) ...
...
Рейтинг: 0 / 0
28.04.2018, 19:17
    #39638188
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Популярно о технологиях переноса информации из базы в базу. Где почитать?
SIMPLicity_StarikNavyпропущено...

хочу кататься, но не хочу покупать автомобиль. его надо иногда ремонтировать.
низачот: есть каршаринг и есть такси - надо только платить деньги и иметь права (для первого варианта) ...Ну, есть бабло -- наймите, вам сделают.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Популярно о технологиях переноса информации из базы в базу. Где почитать? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]