Изменение настроек репликации транзакцией в горячем режиме

Некоторое время назад мне нужно было решить задачу по настройке репликации транзакцией БД под 1С из одного сервера на другой. Как описывалось в предыдущих статьях, я снял все ограничения 1С по изменению структуры БД. Тем не менее, столкнулся с дополнительными проблемами. В основном, проблему можно сформулировать так , что при изменении структуры БД мастер репликации требует переформировании всей схемы БД, а не конкретно выбранного объекта. Также поставленные на репликацию таблицы нельзя никаким переименовывать, удалять, что 1С и делает при изменении структуры БД. То есть, конечно, можно было перед изменением структуры снимать все (можно конечно только измененные, но их нужно знать заранее) таблицы с репликации, а затем ставить заново, но эта операция требует гораздо большего времени (и сетевого трафика), чем изменение настройки репликации конкретного объекта.
598 225

По материалам сайта Softpoint.ru/



Некоторое время назад мне нужно было решить задачу по настройке репликации транзакцией БД под 1С из одного сервера на другой. Как описывалось в предыдущих статьях, я снял все ограничения 1С по изменению структуры БД. Тем не менее, столкнулся с дополнительными проблемами. В основном, проблему можно сформулировать так , что при изменении структуры БД мастер репликации требует переформировании всей схемы БД, а не конкретно выбранного объекта. Также поставленные на репликацию таблицы нельзя никаким переименовывать, удалять, что 1С и делает при изменении структуры БД. То есть, конечно, можно было перед изменением структуры снимать все (можно конечно только измененные, но их нужно знать заранее) таблицы с репликации, а затем ставить заново, но эта операция требует гораздо большего времени (и сетевого трафика), чем изменение настройки репликации конкретного объекта.



Владимир Сердюк

Нужно было решить следующие проблемы:


1) Возможность изменения структуры реплицируемых объектов


2) Возможность определения измененных объектов до начала изменения структуры конфигурации 1С и после.


3) Изменение настройки правил репликации только для измененных объектов.


4) На издателе формировался триггер for update в котором не использовалась конструкция set nocount on.


Первая проблема решалась изменением служебных полей определяющих статус реплицируемой таблицы в sysobjects.


Вторая проблема решалась сохранением слепка sysobjects до изменений и сравнение его с sysobjects после изменений.


drop table copysysobjects
select * into copysysobjects from sysobjects where xtype='U' and status>0

--сохранение слепка до изменений

select id,name from sysobjects cso where cso.id not in (select id from copysysobjects)
and xtype='U'
and status>0

--определение измененных объектов



Третья проблема решалась с помощью использования хранимых процедур sp_dropsubscription, sp_droparticle,


для снятия объектов, определенными предыдущим скриптом, с репликации(с подписки и издателя соответственно). А также с помощью sp_addarticle, sp_addsubscription соответственно для постановки на репликацию. Нужно отметить также, что для


больших таблиц можно было бы пользоваться хранимыми процедурами по постановке не таблицы целиком на репликацию а только колонки.


Четвертая проблему можно решать несколькими способами. Один из них это изменение шаблона репликационного триггера. Второй это изменение триггеров дополнительным скриптом.(Хотя первый способ мне кажется более красивым и надежным)


declare @str char(8000)
declare @dropstr char(8000)
declare @trigger_name char(100)

declare Mylog cursor local fast_forward for
select rtrim(c.text),rtrim(o.name) from dbo.syscomments c, dbo.sysobjects o
where o.id = c.id
and o.name like '%sp_MSsync_upd_trig_%'
order by c.number, c.colid
open Mylog
fetch Mylog into @str,@trigger_name
while (@@fetch_status<>-1)
begin
set @dropstr='drop trigger '+rtrim(@trigger_name)
set @str=rtrim(replace(@str,' declare @rc int',' declare @rc int set nocount on'))
set @str=rtrim(@str)+'set nocount off'
select @str
exec(@dropstr)
exec(@str)
fetch Mylog into @str,@trigger_name
end
close Mylog
deallocate Mylog

P.S. У автора статьи на базе репликации транзакцией для 1С есть уже готовое, прошедшее внедрения, решение.


Для описанной выше задачи оказалось более эффективным решение не предполагающее изменение в структуре БД 1С. То есть измененный мастер репликации MSSQL вообще не вносит никаких изменений в структуру существующих таблиц.

Начать дискуссию

Быть бухгалтером хочу, пусть меня научат... или нет. Можно ли стать бухгалтером самому с нуля и что для этого надо знать

Меня на этот пост вдохновил вопрос пользователя в телеграм-канале. Она попросила помощи в заполнении упрощенной отчетности и уточнила — справится ли она сама, если она не бухгалтер? И, правда, а можно ли вести учет и при этом не иметь образования бухгалтера и всему научиться самому.

Иллюстрация: Вера Ревина/Клерк.ру
88

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора
Мошенничество

Сотрудник банка отдохнул за границей и обогатился за счет клиентки на 29 млн рублей

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

ВЭД

Три главных изменения 2024 года для бухгалтера ВЭД

Продавцы из ЕАЭС начнут платить налоги в российскую казну, бизнес освободят от отчетности по мелким сделкам с зарубежными партнерами, а цифровые активы становятся обычным способом расчета.

Иллюстрация: Вера Ревина/Клерк.ру
Лучшие спикеры, новый каждый день

Обязательную маркировку ювелирных изделий перенесут на 2025 год

Чтобы снизить нагрузку с Пробирной палаты, которая будет ставить клеймо на украшения, Минфин перенесет срок обязательной маркировки на 1 сентября 2025 года.

С 1 мая запустят эксперимент по маркировке моторных масел

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

Календарь вебинаров для бухгалтера в апреле 2024. Акцент на проверки

Вебинар — простой способ разобраться в любом важном для бухгалтера вопросе. «Клерк» приглашает на вебинары экспертов-практиков, которые понятно и с примерами разберут любую тему. Вы можете задавать спикеру вопросы и он ответит на них в прямом эфире.

Иллюстрация: freepik/freepik
Опытом делятся эксперты-практики, без воды
Экспорт

Минпромторг сократит список экспортеров, которые могут получать транспортные субсидии

Изменения затронут только тех, кто занимается экспортом товаров из высокомаржинальных групп.

С 01 апреля 2024 года порог беспошлинного ввоза товаров, возможно, вернется к уровню €200 евро

Но подготовка новых документов не началась.

УК РФ

Опасное производство 2 года работало без лицензии и получило доход 26 млн рублей

В Ставропольском крае перед судом предстанет обвиняемый в незаконном предпринимательстве с извлечением дохода на сумму более 26 млн рублей.

Обеспечительные меры при ВНП, предварительные обеспечительные меры + защитный лайфхак

Всегда ли налоговики могут наложить обеспечительные меры (арест) на имущество по результатам проверки?

Иллюстрация: Вера Ревина / Клерк.ру
7
106

Кто имеет право работать неполный день

Если у сотрудников есть основания для неполной занятости, работодатель должен установить удобный для работника график и снизить нагрузку.

Календарь вебинаров для бухгалтера в апреле 2024. Платные и бесплатные

Собрали для вас анонсы вебинаров на апрель 2024 года.

Миникурсы, текстовые и видеоинструкции для бухгалтеров

Каким числом выставлять счет-фактуру на аванс: бухгалтеры разбираются с формулировками в НК. «Ночной бухгалтер» № 1652

В телеграм-канале «Клерка» бухгалтеры спорили о том, какую дату указать в счет-фактуре на аванс — день получения аванса или любую из последующих пяти дней, которые даны на выставление документа. Истину нашли (вроде).

Иллюстрация: Вера Ревина/Клерк.ру
189
IT-компании

Яндекс запустил линейку нейросетей YandexGPT третьего поколения

Искусственный интеллект нового поколения лучше работает со сложными задачами. Бизнес может самостоятельно дообучить нейростеть.

46
Бесплатно с Архив документов

Сколько лет все-таки хранить кадровые документы? Мини-курс

Разбираемся в мини-курсе, какие типы хранения кадровых документов выделяют и какова продолжительность хранения кадровых документов.

Сколько лет все-таки хранить кадровые документы? Мини-курс
НДФЛ

В 2024 году ФНС разошлет уведомления на НДФЛ с процентов по вкладам за 2023 год

В 2024 году вкладчикам впервые необходимо будет уплатить НДФЛ с процентов от банковских вкладов за 2023 год.

Перерасчет имущественных налогов будут делать по-новому

Физлица будут направлять в ИФНС заявления на перерасчет налога на имущество, земельного и транспортного, к которому можно приложить документы, а можно и не прикладывать. Налоговики будут рассматривать это заявление 30 дней.

Как разработать эффективную программу обучения для новых сотрудников

Обучение персонала — сложный и многогранный процесс. Если проводить его правильно, он может стать ключевым инструментом для усиления корпоративной культуры, увеличения продуктивности и стимулирования мотивации сотрудников.

Иллюстрация: создано с помощью ИИ OpenAI © Вера Ревина/Клерк.ру
5
51
УК РФ

Поиск бывшего гендира может вылиться в вымогательство

Сотрудники главного управления уголовного розыска МВД совместно с коллегами из Красноярского края задержали подозреваемых в серии вымогательств у бизнесменов.

Интересные материалы

Обзоры новостей

⚡️Итоги дня: Ozon изменил расчет сбора, Дурова призвали внимательнее следить за Telegram, Камчатку трясет

Подготовили обзор главных событий дня. Все самое интересное, что писали и обсуждали в сети, в одной подборке.