|   |   | 
| 
 | Репликация MS SQL Server для баз 1С работает? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Гений 1С гуру 03.01.24✎ 15:52 | 
        Можно это организовать в одной локальной сети?
 От клиента поступила хотелка. | |||
| 1
    
        АНДР 03.01.24✎ 16:01 | 
        Не ленись, посмотри рекламу Softpoint'а в верху страницы.     | |||
| 2
    
        Garykom гуру 03.01.24✎ 16:01 | 
        Для баз только чтение (для отчетов) да
 Если же миграция в обе стороны - нужен РИБ | |||
| 3
    
        Garykom гуру 03.01.24✎ 16:01 | 
        (1) Это не просто репликация а внешнее решение аля РИБ на прямых запросах     | |||
| 4
    
        Гений 1С гуру 03.01.24✎ 16:02 | 
        (2) там для отказоустойчивости. Типо если сломался сервак, на другой переезжаем     | |||
| 5
    
        Гений 1С гуру 03.01.24✎ 16:03 | 
        (3) а чем репликация от самого SQL не годится? какие камни?     | |||
| 6
    
        АНДР 03.01.24✎ 16:08 | 
        (3) в (0) не озвучена цель.     | |||
| 7
    
        Гений 1С гуру 03.01.24✎ 16:11 | 
        (6) цель озвучил в (4). Для отказоустойчивости и быстрого переезда на новый сервер. Сначала хотели ночные бэкапы перекидывать, потом решили что лучше вообще онлайн синхрить.     | |||
| 8
    
        vde69 03.01.24✎ 16:11 | 
        (4) для этого есть железные решения, правда дорого...     | |||
| 9
    
        vde69 03.01.24✎ 16:12 | ||||
| 10
    
        АНДР 03.01.24✎ 16:15 | 
        (5) Камень в реализации отмены транзакции. Но, т.к. вендор давно уже рекомендует бэкап делать средствами СУБД, то противопоказаний нет.     | |||
| 11
    
        Garykom гуру 03.01.24✎ 16:15 | 
        (7) да для этой цели можно использовать
 то же теневое копирование но не всего сервера а только базы и не средствами системы а средствами скуля | |||
| 12
    
        Гений 1С гуру 03.01.24✎ 16:21 | 
        (8) дорого не годится. клиент не богатый.     | |||
| 13
    
        vde69 03.01.24✎ 16:24 | 
        (12) нет ног - нет варенья... 
 SQL репликация вещь очень непростая и затратная к ресурсам, по любому минимум 2 отдельных физических сервера нужно | |||
| 14
    
        АНДР 03.01.24✎ 16:24 | 
        (7) Тогда кластер лучше использовать. Но, Stand by - дополнительных лицензий не требует.     | |||
| 15
    
        vde69 03.01.24✎ 16:29 | 
        (12) возможно будет достаточно настроить фулл бекап + накопительный раз в 15 минут?     | |||
| 16
    
        Гений 1С гуру 03.01.24✎ 17:18 | 
        (15) гм, не знал что штатная репликация штука сложная. Это реально так? Чего там сложного по идее?     | |||
| 17
    
        Fedor-1971 03.01.24✎ 17:26 | 
        (15) Фулл бекап требует места, как минимум, на локальном диске  
 Дабы не напрягать сервер и сеть дешевле настроить Фулл бекап, например, в 7:00, а дальше делать разностые бекапы журнала транзакций с установленной периодичностью (15 минут - это часто и большой стабильности не даст) Но опять же есть ли место на диске для таких финтов непонятно (12) Для небогатого клиента настрой в SQL предельное время восстановления БД, например, 15 минут (тут надо найти оптимум с использованием лога транзакций и нагрузкой записи в БД), т.е., по факту, лог транзакций будет писаться в БД принудительно и содержать данные за последние 15 минут. Если всё сломается перецепишь диски в новый комп и через 15 минут у тебя поднимется SQL в живое состояние | |||
| 18
    
        Garykom гуру 03.01.24✎ 17:27 | ||||
| 19
    
        Garykom гуру 03.01.24✎ 17:28 | 
        (17) проще настроить РИБ в 1С на каждые 5 минут     | |||
| 20
    
        Fedor-1971 03.01.24✎ 17:29 | 
        (16) Да. Там больше вопросы по соответствию систем и, таки, просто так не переключишься, сначала надо будет переключить БД в режим самостоятельной работы     | |||
| 21
    
        Гений 1С гуру 03.01.24✎ 17:29 | 
        (19) РИБ чрезмерно блокирует базу на выгрузках     | |||
| 22
    
        Гений 1С гуру 03.01.24✎ 17:30 | 
        (20) что, опять мелкомягкие не смогли сделать KISS?     | |||
| 23
    
        Fedor-1971 03.01.24✎ 17:30 | 
        (19) или тупо забацать заливку в "спящую" БД     | |||
| 24
    
        Garykom гуру 03.01.24✎ 17:35 | 
        (21) репликация думаешь не блокирует???     | |||
| 25
    
        Garykom гуру 03.01.24✎ 17:36 | 
        (22) не мелкомягкие а один непризнанный геня     | |||
| 26
    
        Garykom гуру 03.01.24✎ 17:38 | 
        почитай уже про отказоустойчивый кластер     | |||
| 27
    
        Chai Nic 03.01.24✎ 17:38 | 
        Если вторая база будет "холодная", то можно просто каждые 5 минут делать бэкап-восстановление журнала транзакций из рабочей базы. И раз в сутки - полный бэкап-восстановление.     | |||
| 28
    
        Гений 1С гуру 03.01.24✎ 17:38 | 
        (24) ну бэкап не блокирует, например, насколько я понимаю     | |||
| 29
    
        Garykom гуру 03.01.24✎ 17:39 | 
        (28) мдя     | |||
| 30
    
        Garykom гуру 03.01.24✎ 17:43 | 
        Геня ты бы изучил уже теорию/матчасть
 Ну там устройство СУБД типа https://infostart.ru/1c/articles/709159/ и подумал чем бэкап отличается от репликации (с кучей условий) | |||
| 31
    
        Гений 1С гуру 03.01.24✎ 17:44 | 
        (27) да, похоже так будет норм.     | |||
| 32
    
        Гений 1С гуру 03.01.24✎ 17:44 | 
        (30) чтобы я учил эту матчасть клиенту не по бюджету будет. Думаю с бэкапами норм.     | |||
| 33
    
        Zamestas 03.01.24✎ 20:38 | 
        (12) Если клиент не богатый - то самый "дешевый" для него вариант это второй сервер в кладовке - если первый сдох аппаратно, то носители с системой и базой подкинули на запасной и вперед - все остальные решения сильно дороже.
 З.Ы.: Лицензию на сервер приложений привязать на однопользовательский HASP, а не на железо. | |||
| 34
    
        stopa85 03.01.24✎ 21:57 | 
        (33) блин ну в постгресе есть такая штука. На slave перекидываются завершенные транзакции и порядке их старта.
 Переключить slave в режим мастера и изменить в ИБ путь до базы или поменять dns запись. Делов на 2 минуты. Просто, надёжно, легко мониторить, в 100500 раз лучше бекапа раз в 5минут. Бесплатно. В MS SQL тоже должно быть что-то такое. | |||
| 35
    
        Fedor-1971 04.01.24✎ 09:48 | 
        (34) На сколько мне известно, транзакция постргри и ms SQL различаются достаточно сильно
 Чисто по логике: обвалилась основная БД - в каком состоянии slave? что в неё попало, что нет? То, что сломало основной сервер попало в реплику или нет (тупо злобный хакер отправил запрос модификации данных или шифровальщик добрался до БД)? И, таки, ресурсы на передачу данных транзакции к подчинённому серверу имеют место тратиться Так, что однозначного ответа на вопрос "Что лучше?" нет. Всё имеет свои ограничения применимости, даже отказоустойчивый кластер (кроме стоимости имеет лаг актуальности данных) В своё время была популярна такая штука как реплика портов - т.е. пакеты, например, ТСР приехавшие на Порт1 коммутатора, дублировались в Порт2. По факту, ставим 2 физически разнесённых машины с одинаковым софтом и настраиваем их одновременную работу, если основная погнулась, то в работу переключаем из Порта2 (физически выдернули в серверной кабель и воткнули в Порт1 - вообще, секунды на переключение с 0 требованием к квалификации исполнителя) Но такое решение тоже имеет свои подводные камни (как-то тихо и мирно потухла сия идея) | |||
| 36
    
        stopa85 04.01.24✎ 10:56 | 
        (35) на случай краха основной бд и невозможности его поднять, попадет туда явно больше чем в бекап 5минутной давности.
 Нагрузка на мастер минимальна, можно пренебречь. Со слейва даже бекапы полные снимают, чтобы мастер не грузить. Но вообще да. Это не отказоустойчивость в строгом понимании слова. | |||
| 37
    
        katamoto 04.01.24✎ 11:03 | 
        (35) И в чём различие транзакций? ACID - он и в Африке ACID     | |||
| 38
    
        stopa85 04.01.24✎ 12:08 | 
        (35) "То, что сломало основной сервер попало в реплику или нет (тупо злобный хакер отправил запрос модификации данных или шифровальщик добрался до БД)?"
 А от этого спасает point in time recovery. Восстанавливаешь бд на состояние за 1с до сбоя. | |||
| 39
    
        stopa85 04.01.24✎ 12:14 | 
        (37) fedor, очевидно, перепутал транзакции с репликаций.
 Репликация там правда по разному устроена. Но, имхо, master-slave должен +- одни и те же задачи решать. | |||
| 40
    
        ansh15 04.01.24✎ 12:16 | 
        (38) Осталось выяснить точное время сбоя, а отнять от него секунду - нефиг делать...     | |||
| 41
    
        ДедМорроз 04.01.24✎ 15:33 | 
        Как бы,физический отказ сервера и неправильные данные в нем - это совершенно разные проблемы,и решения у них тоже разные.     | |||
| 42
    
        Гений 1С гуру 04.01.24✎ 16:02 | 
        (33) А 1с еще выпускает аппаратные ключи, кстати? У клиента еще "железные"     | |||
| 43
    
        Fedor-1971 04.01.24✎ 16:53 | 
        (41) Если данные уконтропупили любым способом (RAID в зеркале рассыпался, сервер сгорел, порушили БД битые сектора диска, пользователи/хакеры постарались или шифровальщик поработал), самый распространённый вариант, хоть как-то, их вернуть в приемлемое состояние - восстановление из бекапа (очень желательно - свежего).
 В остальном - частности, кому-то критична потеря 15 минут работы (нужны одни меры и надёжность системы, в т.ч. и аппаратные), кому-то и сутки не проблема (меры обеспечения надёжности хранения данных совсем другие) Кроме лага допустимой потери информации, есть параметр "Скорость восстановления работоспособности" - да поломались, откатываемся к версии данных, например, 1 час назад, но за 10 минут - т.е. система гарантированно работает дальше (возможно, с какими-то ограничениями) имея дырку в данных, максимум, в 1 час и восстановление оного может растянуться, например, на 5-6 часов (тупо, садим несколько операторов которые будут набивать данные за потерянный час, а лучше 15 минут). Называется: пока летим на одном крыле, но, таки, летим Посему, суть одна и та же - заранее предусмотреть меры по надёжной работе системы и выработка параметров и методов её быстрого восстановления (резерв мощности оборудования, настройка копирования, применение СХД, разделение хранения старых и новых данных в разных местах для минимизации потерь и объема копий и т.д. и т.п.) Сии мероприятия стоят денег и требуют квалификации (как минимум, для их правильной организации) | |||
| 44
    
        Chai Nic 04.01.24✎ 18:31 | 
        (42) Давно бы перешли на использование сертификата на рутокене (с неизвлекаемым ключом, версии 2.0 или 3.0) вместо морально устаревшего хаспа. Это бы сочетало в себе плюсы и аппаратной и программной лицензии. И ключ был бы именным, и независимость от железа бы присутствовала.     | |||
| 45
    
        stopa85 04.01.24✎ 21:44 | 
        (43) pitr и master-slave репликация в постгресе это дёшево, не требует большой квалификации (одна глава руководства на русском + пару скриптов) и не требует особого админства. Просто работает.
 Нет ни одной причины её не использовать. P.S. Неужели в ms sql не так? Может просто форум не профильный? | |||
| 46
    
        vde69 04.01.24✎ 21:58 | 
        (45) когда в SQL простая и дефолтная база, то репликации это просто.
 а вот например у базы нестандатное смещение дат, или например тригер который пишет в другую базу, или уровень изоляции нестандартный и начинаются танцы с бубном. а если еще на мастере что-то произойдет и перейдешь на слейв, то вернутся обратно на мастер это целый квест. Короче репликации ни разу не заменяют кластер... | |||
| 47
    
        VladZ 04.01.24✎ 22:29 | ||||
| 48
    
        Fedor-1971 05.01.24✎ 09:16 | 
        (45) Когда я рылся в этой теме (давно дело было) 
 первое на что обратил внимание в случае репликации: если в мастере ломаются данные, то через период обмена они гнутся и в слэйве, а когда сие обнаружится - неизвестно, через день или через 5 (погнулись, например, кассовые ордера, а всё остальное целое и ломаться начнёт позднее) А так, не велика проблема настроить репликацию и в MS Схема репликации данных, до некоторой степени, спасает при глухом выходе из строя мастера. И то, может быть период, когда в слэйв летят битые данные (медленная деградация диска) и установить степень достоверности информации в БД на вскидку не получится (46) так и кластер не панацея, там свои подводные камни есть. Нужен комплекс мероприятий для устойчивости системы | |||
| 49
    
        katamoto 05.01.24✎ 14:29 | 
        (48) Вообще, в sql сервере есть такая штука как automatic page repair, когда повреждённые на мастере страницы восстанавливаются за счёт реплики. Не без оговорок, но тем не менее.     | |||
| 50
    
        ptiz 05.01.24✎ 14:37 | 
        (27) "И раз в сутки - полный бэкап-восстановление." - это лишнее, если постоянно подливать журнал в копию.
 А если раз сутки восстанавливать, достаточно просто иметь в наличии копии журнала транзакций, которые делать каждые 5 минут. И тогда их можно не восстанавливать. Использовать только при сбоях или расследовании индицентов. | |||
| 51
    
        ptiz 05.01.24✎ 14:52 | 
        У нас террабайтные копии рабочих баз живут в режиме "подливания логов" каждые 5 минут. Ежедневно восстанавливать из бэкапа такое не будешь.     | |||
| 52
    
        kuromanlich 07.01.24✎ 09:46 | 
        работает     | |||
| 53
    
        Chai Nic 07.01.24✎ 10:00 | 
        (51) Это хорошо конечно, но в случае, если вдруг придется включить копию в онлайн по какой-то причине, то после этого уже не получится "подливать логи". И чтобы восстановить копию, придется заново плясать от полного бэкапа со всей цепочкой. Так что, лучше чтобы он всё-таки был хотя бы раз в сутки. Пусть даже и не восстанавливался в копию.     | |||
| 54
    
        stopa85 07.01.24✎ 22:58 | 
        (51) репликация не заменяет бекапы. Это средство отказоустойчивости и/или распределения нагрузки (но не в случае с 1С)     | |||
| 55
    
        stopa85 07.01.24✎ 22:59 | 
        В (54) ответ (53)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |