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

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

По материалам сайта 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 вообще не вносит никаких изменений в структуру существующих таблиц.

Ещё раз: как продвигать свои посты на «Клерке»

Если вы видите это сообщение, значит продвижение работает.

Ещё раз: как продвигать свои посты на «Клерке»
10

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

НДФЛ

НДФЛ иностранца можно уменьшить на его аванс по патенту. Но есть ограничения

При расчете зарплаты патентных иностранцев учитывают фиксированный авансовый платеж по НДФЛ, который они оплатили. Для этого нужны документы.

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

22
Официальное удостоверение с занесением в госреестр Рособрнадзора
Алименты

Должники по алиментам станут известны всем

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

1

Не всегда на авто, стоящее на учете, надо платить транспортный налог

Регистрация авто в ГИБДД после 15 числа одного месяца и снятие с учета до 15 числа другого месяца дает право не платить транспортный налог.

Лучшие спикеры, новый каждый день

Создадут единую цифровую платформу туризма: что она дает

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

1

Вклады 18%, обвал рынка, рост налогов, дешёвый доллар, новые облигации, дивиденды и другие новости. Воскресный инвестдайджест

Есть что по жести? Ещё как есть! Разве что расчленёнки не хватает, так-то рынок акций и облигаций нормально приуныл. Но это пока был не обвал, а коррекция. Обвал точно ожидает нас всех впереди, но это не точно. Зато доллар всё ещё дешёвый, IPO проводятся, появляются новые облигации и дивиденды.

Вклады 18%, обвал рынка, рост налогов, дешёвый доллар, новые облигации, дивиденды и другие новости. Воскресный инвестдайджест

С 01 июля новая форма отчета о движении денег по зарубежным счетам

С 01 июля 2024 года изменится форма отчета о движении денег и иных финансовых активов по зарубежным счетам, которые готовят и подают юридические лица и ИП

Опытом делятся эксперты-практики, без воды

В чем проблема прогрессивной налоговой системы в России?

Сама по себе прогрессивная налоговая система по своей сути не плохая, это нормально, когда люди, которые зарабатывают больше и платят больше налогов. Но есть 2 Но.

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток

Набираем первый летний поток-2024 на профкурсы. Успейте записаться до 3 июня, чтобы за лето повысить квалификацию и выйти на новый уровень знаний!

Календарь вебинаров для бухгалтера в июне 2024. Выбирайте и смотрите!

Будьте в курсе последних изменений в законодательстве! Выбирайте из 9 вебинаров интересные именно вам и записывайтесь. Забирайте в закладки календарь вебинаров для бухгалтера, которые пройдут в июне 2024. Подписчикам «Клерк.Премиум» — бесплатный доступ.

Календарь вебинаров для бухгалтера в июне 2024. Выбирайте и смотрите!
7
Инвестиции

Инвестиции в космические объекты пропишут в законе

Госдума приняла в первом чтении законопроект о государственно-частном партнерстве в сфере космической деятельности.

Трудовое право

Чем грозит неявка сотрудника на медосмотр

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

Налог на прибыль

Все гранты на инновационное развитие освободили от налога

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

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

Предприятия за каждого сотрудника из другого региона получат 300 тысяч рублей

Государство выделит субсидии бизнесу, который работает над крупным проектом и привлекает сотрудников из других регионов. Размер поддержки составит 12 МРОТ.

За что заблокируют ваш счет? Что не нужно делать, чтобы «влететь» на блок

Сейчас в мире бизнеса идет война за темную и светлую сторону.

За что заблокируют ваш счет? Что не нужно делать, чтобы «влететь» на блок

Налоговые перспективы на 2025 год. Прогрессивная шкала НДФЛ

Какими будут налоговые ставки НДФЛ в 2025 году и можно ли этот налог оптимизировать.

🚚 Грузоперевозка в страну ЕАЭС может облагаться разным НДС

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

МСФО

Внедрение азиатских МСФО на российский рынок

В данном докладе мы рассмотрим перспективы внедрения азиатских Международных стандартов финансовой отчетности (МСФО) на российский рынок.

Внедрение азиатских МСФО на российский рынок
1
Маркетплейсы

Цены на наушники на маркетплейсах оказались завышенными по сговору

ФАС выявила картель продавцов наушников на маркетплейсах. Продавцы общались в чате мессенджера, писали негативные комментарии конкурентам и заказывали наушники «в никуда».

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток обучения

Набираем первый летний поток-2024 на курсы повышения квалификации и переподготовки с максимальными скидками, чтобы вы не ограничивали траты на отпуск и получили полезные знания. Начало обучения 1 июня, присоединяйтесь!

💥 Бодрящие скидки на курсы повышения квалификации и профессиональной переподготовки! Ведем запись на первый летний поток обучения
2

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

Инвестиции

Итоги 35 месяцев инвестиций. 3,83 млн рублей

1 июня, значит пора защищать детей и подводить итоги мая! Ежемесячно я пишу отчёт о том, что произошло с моими инвестициями. Напоминаю: я начал копить на квартиру в Сочи в июле 2021. 35 месяцев позади. Погнали!

Итоги 35 месяцев инвестиций. 3,83 млн рублей