Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
задача: реплицировать информацию из продакшена в bi и test ранее "репликация" выглядела как поднятие бэкапа (полный+ночной инкрементальный). Полный раз в неделю, инкремент каждую ночь. что-то подсказывает что можно эту задачу упросить (с точки зрения нагрузки на систему, нагрузки на диск, на сеть), по средствам репликации логов транзакций. да, знаю есть встроенная репликация в MSSQL, и один из способов её работы - как раз репликация лога транзакций. только я не могу найти как сделать это ручками. т.е. понятно что надо восстановится из полного бэкапа, а затем накатывать лог транзакций. пробовал так: RESTORE LOG [dbname] FROM DISK = '\\192.168....\...trn' GO говорят "Невозможно восстановить журнал или разностную резервную копию, так как нет файлов, готовых к накату." на сколько я понимаю - данное сообщение я получаю, потому что ранее база данных была восстановлена в режиме RECOVERY (т.е. отменены все не заверенные транзакции) если делать с параметром NORECOVERY, то данные прочитать потом нельзя. нашел так-же хранимку sp_change_log_shipping_secondary_database - но у меня же репликация стандартная не используется, она тут не подходит, к тому-же выполняется на мастере. подскажите в каком направлении копать? и в целом это возможно? (т.е. сегодня восстановить полный бэкап, а потом каждый день применять бэкап лога транзакций. При этом каждый раз не восстанавливать полный бэкап) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 09:13 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumer, Вы путаете репликацию транзакций и Log shipping. Это разные вещи, совсем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 09:16 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumerда, знаю есть встроенная репликация в MSSQL, и один из способов её работы - как раз репликация лога транзакций.Транзакционная репликация ("встроенная") "накатывает" лог немножко другим способом, не так, как это делает команда RESTORE LOG Так что либо используйте стандартную транзакционную репликацию, либо пишите свою, разбирая команды из лога (ИМХО малореально). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 09:42 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumerзадача: реплицировать информацию из продакшена в bi и test А Вы действительно хотите реплицировать? Просто, судя по названию БД, она предназначена для тестирования. Выделение БД для тестирования, подразумевает, что в ней будут происходить какие-то модификации в целях тестирования, что не допустимо на реплицируемой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 10:15 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
из формулировки задачи убираем слова про тестовую базу. база для аналитики, база на резервном сервере. могут отставать от продакшена на скажем сутки. лучше - меньше. не хочется каждый раз делать восстановление от полного бэкапа. не хочется иметь прямую связь между серверами. хочется как-то докатывать бэкап лога транзакций на базу ранее поднятую из полного бэкапа. доступ к целевой базе нужен только на чтение. варианты: поднимать полный бэкап - медлянно. использовать в каком-то виде версионирование (т.е. либо встроенный функционал отслеживания изменений, либо кастомный через тригеры и таблицы, либо через rowversion) - все замечательно, пока не меняется схема базы. хочется чего-то более простого и в то-же время надежного. т.е. если я правильно понимаю - транзакционная репликация разбирает лог и применяет его к целевой базе. ручками это сделать нельзя (без создания репликации на мастер сервере и первоначальной её настройки). невозможно стандартными средсвами взять логи транзакций и накатить его на read-only базу данных. все верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 11:28 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumerхочется как-то докатывать бэкап лога транзакций на базу ранее поднятую из полного бэкапа. доступ к целевой базе нужен только на чтение. Вот тебе пути поиска: Поднять один раз бекап с norecovery, и потом догнать бекап логами с STANBY. Потом можно догнать его diff (вот не уверен, но по логике это можно) - бекапом и снова логами со STANDBY. Настроить acync mirroring на сервер аналитики и периодически делать snapshot - который и будет для аналитиков. Настроить alwaysOn. pumpurumerт.е. если я правильно понимаю... нет неправильно понимаешь ;) выше тебе объяснили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 11:43 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumerбаза для аналитики, база на резервном сервере. могут отставать от продакшена на скажем сутки. лучше - меньше. Тогда эта задача ближе к репликации снапшотами , а не транзакциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 11:48 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
удалось сделать через восстановление полного бэкапа + логи через standby Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. наверное если на первом этапе вместо NORECOVERY добавить STANDBY = N'c:\temp\standbay_.......tuf' - можно будет сразу получить доступную на чтение базу. осталось теперь понять что лежит в файле который указывается в c:\temp\standbay и сколько раз можно так сделать ( RESTORE LOG with STANDBY), до потери производительности. и где нужно производить очистку чего-либо после таких операций. всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 13:28 |
|
||
|
добавление логов к существующей базе (репликация логов)
|
|||
|---|---|---|---|
|
#18+
pumpurumerосталось теперь понять что лежит в файле который указывается в c:\temp\standbay и сколько раз можно так сделать ( RESTORE LOG with STANDBY), до потери производительности. и где нужно производить очистку чего-либо после таких операций.Этот файл сам удалится при следующей операции RESTORE LOG. А нужен он во время следующей операции RESTORE LOG, так что если вы его удалите, то придётся начать с RESTORE DATABASE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 17:36 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39576066&tid=1690608]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
53ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 311ms |

| 0 / 0 |
