Мастер создания копии информационной базы для отчетности

Публикация № 1285563 28.08.20

Администрирование БД - HighLoad оптимизация

отчетность копия базы OLAP аналитическая нагрузка оптимизация

Прототип инструмента для подготовки реплики в режиме только для чтения к использованию. Позволяет использовать "read-only" реплики как обычные информационные базы 1С.

Небольшое введение

Давным давно, а точнее больше года назад, была создана публикация "Копия базы 1С для отчетов. Или как выжить с тяжелой отчетностью", в которой была рассмотрена тема создания копии баз данных для распределения нагрузки информационной системы между её копиями. В комментариях к публикации также можно найти интересную информацию.

С тех пор по этой теме появилось несколько интересных новостей:

  • Механизм копий баз данных от фирмы "1С" (только для лицензии КОРП), который также позволяет перенести часть нагрузки на дополнительную реплику баз данных средствами платформы. О новой функциональности уже была публикация с дополнительными ссылками на Инфостарт.
  • Рассмотренные в статье некоторые способы работы с "read-only" репликами перестали работать, т.к. запуск клиентского приложения теперь всегда проверяет наличие этого ограничения. Проверено на 8.3.17 - толстый клиент в обычном приложении теперь запустить нельзя.
 
 Ошибки при попытке работы с "read-only" репликами баз данных

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

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

  • Можно опубликовать веб-сервисы и HTTP-сервисы информационной базы, связанной с этой репликой БД и обращаться к ней через них. Но все обращения придется реализовывать разработчикам. И не факт, что этот способ не перестанет работать в будущем.
  • Можно обращаться к копии базы через внешние источники данных. Также потребует значительных трудозатрат в разработке.

Но что, если решение от Softpoint для Вас избыточно или сильно дорогое, но копию базы для отчетности все же хочется иметь. А напрягать разработчиков новыми фишками нет возможности. При этом Вы готовы мириться с некоторыми ограничениями. Вот для таких случаев и создавалась эта разработка, о которой и пойдет речь далее.

Как создать копию

Но как же создать эту копию базы? Да еще и так, чтобы актуальность данных в ней была максимально приближена к основной рабочей базе. Ведь формирование отчетов может потребовать максимально актуальных данных и вариант с обновлением копии базы каждую ночь из бэкапа не подойдет.

Мы не будем рассматривать каким лучше способом создавать копию базы для отчетности. Частично эту тему затрагивали в предыдущей публикации. Кратко напомню, что есть несколько путей (все будет описываться для SQL Server, т.к. инструмент сейчас работает только с этой СУБД):

  • Простое бэкапирование и восстановление - медленно, дешево, сердито, неэффективно. Но если подходит, то нет смысла пробовать что-то другое.
  • Доставка логов транзакций - замечательная возможность SQL Server для создания "почти в реальном времени" копии базы данных. С определенными настройками позволяет создавать копию базы данных в режиме "только для чтения". Есть ограничения по обновлению, т.к. потребуется "отключение" сессий и связанные с этим проблемы.
  • Репликация. SQL Server позволяет использовать репликацию данных разных видов. На самом деле штатно использовать репликацию к базам данных 1С практически невозможно и нужны некоторые стероиды для этого.
  • AlwaysOn - группы доступности AlwaysOn позволяют создавать копии базы данных на других инстансах практически в реальном времени. О них мы также говорили в предыдущей публикации. Также там были ссылки по настройке.
  • Моментальные снимки - еще один интересный механизм SQL Server, но с огромными ограничениями для основной базы данных. Для использования на продакшене нужно любить рисковать и закрывать глаза на очевидные проблемы :)

Зеркалирование для этих целей не подойдет, т.к. копия базы недоступна для использования. Да и не для этого оно создавалось, а для отказоустойчивости.

Я предпочитаю AlwaysOn всем остальным способам, т.к. на мой взгляд - это самое эффективное средство создания копии базы данных в реальном времени. Идеальный вариант для переноса на эту базу OLAP-нагрузок.

Если Вам интересна тема работы репликации и других механизмов SQL Server в части создания копий баз данных, то дайте знать в комментариях. Об этом можно написать очень много, в т.ч. и в контексте 1С. И эта тема полна нюансов.

Назначение и возможности

Наконец-то мы подобрались к инструменту. Главное его назначение - это помочь использовать реплику "только для чтения" как обычную информационную базу 1С. То есть к базе данных в режиме "read-only" можно будет подключить информационную базу 1С в кластере и работать с ней привычным образом:

  • Запускать клиентские приложения (тонкий и толстый клиент, обычное и управляемое приложение)
  • Формировать отчеты, печатные формы и т.д.
  • Для использования клиентского приложения чаще всего не нужны никакие доработки конфигураций. По крайней мере типовых конфигураций, про остальные надо смотреть по ситуации.
  • Часть функционала будет работать как обычно, не смотря на то, что база только для чтения:
    • Будут сохраняться настройки форм
    • Пользовательские настройки отчетов (НЕ ВАРИАНТОВ ОТЧЕТОВ!)
    • Можно открывать внешние отчеты и обработки
    • История работы пользователей будет работать как обычно
    • И многое другое.
  • Можно даже выполнять некоторые операции изменения данных, но при этом по факту в базе ничего не изменится:
    • Запись элементов справочников
    • Запись регистров
    • Некоторые служебные операции

В общем, у Вас будет информационная база, работающая с копией рабочей базы в режиме "только для чтения" с минимальными неудобствами. Минимальными для текущей ситуации :). Вот пример работы с такой базой (Демобаза Управление торговлей 11), и когда можно все-таки нарваться на ошибки в работе.

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

Именно создать возможность использования копии базы в режиме "только для чтения" и является целью этой разработки.

Основными возможностями инструмента являются:

  • Анализ исходной копии базы данных в режиме только для чтения для последующего использования.
  • Формирование скриптов для создания и настройки служебной базы, которая позволяет использовать копию базы через подключение к кластеру серверов 1С.
  • Выставление защиты от операций изменения данных на уровне служебной базы данных: при этом может быть защита в виде игнорирования таких операций, либо появления исключений.
  • Формирование скриптов для пересоздания служебной базы данных.

Требования к работе:

  • Платформа 1С версии 8.3.* (на 8.2 тоже будет работать, но потребуются адаптации скриптов).
  • СУБД Microsoft SQL Server 2008 и выше. Основная работа тестировалась на версии SQL Server 2014.
  • Служебная база данных создается на том же инстансе, на котором находится реплика только для чтения. НО возможно и на другом сервере через, например, создание связанных серверов. Все это уже другая история.
  • Возможность подключения через ADO c сервера 1С к экземпляру SQL Server с правами к копии базы данных.
  • Только управляемые формы. Для использования в обычном приложении используйте известные обходные пути.

Далее кратко опишем принцип работы.

Принцип работы

Сам принцип работы очень простой. Допустим, у нас есть два сервера: SQL-1 и SQL-2. На SQL-1 у нас основная база, в ней работают пользователи и все хорошо. На SQL-2 есть копия базы, сформированная через AlwaysOn и находящаяся в режиме "только для чтения". Обе базы имеют имя "ut_11_always_on". Просто для примера.

Напрямую подключить реплику базы "ut_11_always_on" с сервера SQL-2 в кластер 1С мы не можем. Точнее можем, но запускать клиентские приложения в обычном виде не сможем (ошибки см. в выше). Но можно пойти другим путем:

  1. На сервере SQL-2 создать служебную базу "ut_11_always_on_fake" вручную с пустым составом таблиц.
  2. Далее создать представления (view) для всех таблиц базы "ut_11_always_on". Представления будут созданы в служебной базе "ut_11_always_on_fake", но запросы будут выполняться к таблицам базы "ut_11_always_on".
  3. При этом часть служебных таблиц информационной базы перенести все же не представлениями, а обычными таблицами и скопировать в них данные из реплики. К этим системным таблицам, например, относятся:
    • V8Users
    • DBSchema
    • Config
    • ConfigSave
    • _UsersWorkHistory
    • И другие.
  4. При подключении информационной базы в кластере к этой служебной базе данных платформа 1С по факту будет работать с базой, которая не находится в режиме только для чтения. А системные таблицы и вовсе могут изменяться. Та же история работы пользователя спокойно будет записываться в таблицу "_UsersWorkHistory".
  5. Чтобы избежать ошибок с операциями INSERT, UPDATE, DELETE к нашей служебной базе мы создадим триггеры для представлений, которые позволят эти операции максимально игнорировать.
  6. Там где игнорировать нельзя - будет выдано исключение, но таких операций меньшинство и их легко избегать. В том числе и настройками прав на уровне 1С.
  7. Если системные таблицы изменяются в реплике, то их обновляем с помощью скриптов и в служебной базе (например, если мы обновим конфигурацию, добавим расширение или изменим права доступа пользователей - то один запуск скрипта и все данные в таблицах обновлены).

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

Все эти принципы работы использовались в этой разработке, а также учтены некоторые нюансы использования.

Примеры использования

Рассмотрим очень простой пример. Как и ранее, пусть будут два сервера SRV-SQL-01-VM и SRV-SQL-02-VM. На SRV-SQL-02-VM есть копия базы, сформированная через AlwaysOn и находящаяся в режиме "только для чтения". Обе базы имеют имя "ut_11_always_on". Вот как это выглядит на стороне СУБД.

В основной базе запускаем инструмент и на первом этапе настраиваем подключение. Все параметры индивидуальны. В том числе и пароль не обязательно у Вас должен быть как 16 звездочек :).

Далее определяемся с именем служебной базы данных, через которую мы будем работать с репликой основной БД. Пусть для разнообразия это будет "ut_11_always_on_writetable_fake_ver2". Почему? Да просто так :). Установим это имя в настройках адаптированной базы и нажмем "Заполнить настройки объектов базы по умолчанию".

Эти настройки используются для формирования скриптов создания объектов служебной базы.

После этого заполняются настройки переноса объектов из реплики в служебную базу данных, а также на вкладке "Скрипты" будут сформированы их тексты для ручного запуска. Скрипт создания базы выполнять не обязательно, если Вы её создали с нужными параметрами вручную.

Тексты скриптов можно переформировать вручную, если были изменены настройки объектов служебной базы по умолчанию. После запуска сформированных скриптов в том же порядке, в котором они были представлены в обработке, мы будем иметь служебную базу с представлениями вместо таблиц, исключая только служебные сущности.

Именно эту базу мы можем подключить в кластере 1С и использовать ее в обычном режиме. В самом начале публикации мы уже видели как это смотрится в клиентском приложении. Посмотрим еще раз: сверху основная база, снизу "read-only" копия.

Профит!

Вместо заключения

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

  • Либо с помощью инструкций пользователям по работе с базой для отчетов.
  • Либо с помощью изменения системы прав доступа в конфигурации.

Дополнительно необходимо для копии отключать регламентные задания, чтобы не произошло чего-нибудь непредвиденного. Если идти еще дальше, то в самой конфигурации можно добавить модули определения на какой реплике выполняется код (основной или дополнительной) и в зависимости от этого выполнять проверки и алгоритмы.

Также можно пойти дальше и автоматизировать обновление служебных таблиц данными из реплики после выполнения обновлений основной базы. Можно переносить только часть данных служебных таблицы. Плюс ко всему можно разрешить редактирование некоторых справочников только для отчетной базы. Например, это справочник вариантов отчетов.

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

  • Расширение настроек объектов служебной базы.
  • Более умное обновление объектов базы.
  • Автоматизация обновления после изменения основной базы или реплики.
  • Добавлена поддержка PostgreSQL.
  • Значительно улучшить удобства работы со служебной базой и инструменты автоматизации.
  • И многое другое.

Если будет интерес сообщества, то инструмент будет развиваться. Также как это постепенно делается с последними выпущенными обновлениями других разработок:

А Вы бы использовали такой подход? Или знаете другие более простые альтернативы?

Другие ссылки

Авторские разработки

 
 Другие разработки (бесплатные и за $m)

Скачать файлы

Наименование Файл Версия Размер
Мастер создания копии информационной базы для отчетности:

.epf 33,35Kb
12
.epf 1.0.0.0 33,35Kb 12 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2680 28.08.20 17:31 Сейчас в теме
Мы делали в конторе прям вот так, как нельзя, но если очень надо, то можно ))) Выпилили все попытки записать что-то в базу при создании сеанса для web-сервиса. В итоге любой отчет можно было выполнить как в текущей базе, так и в реплике (снапшот 300 ГБ базы делался менее 10 сек трижды в день и туда мы запускали всех озверелых бухов и это ОЧЕНЬ СИЛЬНО сократило загрузку SQL-сервера).

В общем достаточно было добавить в модуль любого (у нас все отчеты были на СКД, но многие из них компоновались вручную - отчеты для сравнения разных баз, например) отчет ПЯТЬ строк кода, и он появлялся в списке отчетов, которые можно было бы выполнять в реплике. Более того, даже роботы, которые формировали отчет, формировали его в реплике, если он был прописан в настройке, и даже не догадывались об этом. Более того, расшифровки прекрасно работали и тоже формировались в реплике. И всего-то пять строк кода на модуль любого отчета и никаких строк кода в форме отчета, его менеджере или даже в общей форме - только модуль )))
YPermitin; +1 Ответить
2. YPermitin 12549 28.08.20 17:33 Сейчас в теме
3. starik-2005 2680 28.08.20 17:37 Сейчас в теме
(2) обычным мелкоскуловским снапшотом.
4. YPermitin 12549 28.08.20 17:57 Сейчас в теме
(3) я помню, что мы об этом год назад говорили.

Если ограничения снапшота не помеха, то конечно это хорошо.
А если все, что-то из написаного в разделе "Ограничения по базе данных-источнику" по ссылке мешает их использовать, то это уже проблема.

Плюс то что это на том же инстансе со всеми вытекающими и т.д.

Но если помогло, то круть :)
5. starik-2005 2680 28.08.20 21:19 Сейчас в теме
(4)
А если все, что-то из написаного в разделе "Ограничения по базе данных-источнику" по ссылке мешает их использовать, то это уже проблема.
Сдается мне, что в этом разделе мало что можно применить к 1С. А сам моментальный снимок - это версия состояния БД, в которой хранятся лишь измененные в основном инстансе страницы. Если в БД минимум изменений, то для снапшота нужно минимум дискового пространства. И чем чаще делается снапшот, тем меньше дисковой памяти на его поддержание уходит. Ну и никаких блокировок при чтении.
6. YPermitin 12549 29.08.20 00:47 Сейчас в теме
(5) На тех системах, где производительность была важна, я бы не смог применить снимки.

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

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

>> 2. Производительность снижается по причине увеличения количества операций ввода-вывода
Тут присутствует негативное влияние. Конечно операций записи всегда намного меньше, чем чтений (по крайней мере для систем 1С), но при массовых миграциях данных, интеграциях и т.д. это может быть заметно. Ситуация чем-то напоминает влияние сжатия данных, но влияет оно только в части записи.

Еще важное ограничение:
>> Моментальный снимок базы данных должен создаваться и оставаться на том же экземпляре сервера, что и база данных-источник.
Обычно копию базы для OLAP-нагрузок создают на отдельном сервере. Обосновывается это тем, что один инстанс имеет единый буфферный кэш. Тяжелые аналитические отчеты и их запросы этот кэш быстро вымывают, что влияет на скорость выполнения операций транзакционной базы. Влияет негативно. Если мы выносим отчетную базу на отдельный сервер, то это влияние исключается. Можно посмотреть показатель производительности "SQLServer:Buffer Manager\Page life expectancy". Если страницы не задерживаются в кэше, то значит есть тяжелые запросы.
Я это к тому, что если основная база и снапшот продолжают располагаться на одном сервере, то проблемы вымывания кэша никак не решаются.
Плюс отдельный инстанс позволяет для отчетной базы изменить те же настройки параллелизма, что даст отчетам новую жизнь.
Снапшоты плюсов в этой части не дают.

Поэтому я вижу использование там, где:
1. Система не находится под постоянной нагрузкой в части изменения данных.
2. Простейшая стратегия бэкапирования.
3. Нет цели разделения оперативной и отчетной нагрузки.
4. Есть цель решить проблему избыточных блокировок СУБД при чтении. Но это уже не так актуально с появлением RCSI и управляемых блокировок.

В общем, как-то так.
Unknown31; Lansi; +2 Ответить
7. starik-2005 2680 29.08.20 10:48 Сейчас в теме
(6)
Поэтому я вижу использование там, где:
1. Система не находится под постоянной нагрузкой в части изменения данных.

У нас как раз было более 100 запросов к системе в секунду периодически (множество запросов из веб-приложения). До того, как стали использовать отчетность из снапшоте, все очень сильно проседало по производительности.

НО! В действительности количество операций ввода-вывода не изменилось, а вот характер нагрузки поменялся - операции чтения отчетных данных стали уходить на неблокируемый инстанс снапшота, в то время как раньше они уходили на постоянно блокируемый записью инстанс основной базы. Я так понимаю, что для Вас операции ввода-вывода выросли, но для системы в целом они могут даже сократиться из-за разделения инстансов и отсутствия записи в снапшоте.

2. Простейшая стратегия бэкапирования.
Не было проблем с инкрементальными бэкапами. Мы не совсем уж сумасшедшие, чтобы снапшот для бэкапа юзать. Мы его в любой момент сбросить можем и 10 секунд на восстановление. Какое-то странное утверждение вообще. Там же просто все - база снапшота становится версией и просто игнорирует все последующие изменения. База основная практически не ощущает на себе нагрузки, ибо запись данных - это всегда физически новый блок, особенно на ССД. Вы немножко мозг включите и представьте себе, как работает система на уровне физической записи измененных версий. У снапшота есть своя карта, а оперативная база просто не трогает блоки, которые были до момента создания снапшота - на это минимум ресурсов выделяется. А журнал транзакций продолжает писаться ровно в том же виде.

Но да, снапшот не забекапишь - да и кому такая ересь в голову прийти может?

3. Нет цели разделения оперативной и отчетной нагрузки.

Вот ровно такая цель и есть, когда оперативная и отчетная нагрузка разделяется. На оперативную нагрузку система тратит теперь меньше ресурсов, т.к. нет мешающей ей нагрузки множественного чтения. Еще раз скажу: количество операций ввода-вывода остается в пределах сервера примерно одинаковым, но характер нагрузки для оперативной (OLTP) базы меняется.

4. Есть цель решить проблему избыточных блокировок СУБД при чтении. Но это уже не так актуально с появлением RCSI и управляемых блокировок.


Факт остается фактом: включили снапшот изолейшн - стало чуть лучше, но нагрузка на сервер осталась очень высокой - из-за механизмов обеспечения консистентности СУБД. Вынесли отчеты в снапшот - нагрузка УПАЛА В ДВА РАЗА.

Юрий, Вы на проблему не как DBA посмотрите, а как программист, который бы делал СУБД. Что нужно для того, чтобы обеспечить параллельность работы? Чтобы между разными сеансами не было чтения и записи одних и тех же данных в один и тот же момент, чтобы данные были изолированы друг от друга при работе с ними из разных потоков для одной базы данных. В итоге наворачивается вокруг этого сотни семафоров и мьютексов, которые и тратят достаточно большое количество ресурсов, ибо многие реализации "мгновенных" операций (т.е. без отработки операций по прерыванию таймера с возвратом спящему сеансу управления) делаются "бесконечным" циклом (вон постгресовцы писали в блоге, что переписали с С на |ссемблер мьютексы - и "все стало летать" - относительно, конечно).

И вот эта нагрузка - она очень влияет. Выделяешь отдельно инстанс - получаешь прибавку к быстродействию. Да, на отчетные данные тратится другая память, а не та, которая тратится на оперативные данные. Но она просто не тратится в оперативном инстансе, а тратится в инстансе отчетном. Если у нас была бы одна база, то да, память бы потратилась бы в оперативном инстансе и в нем бы производительность опять же уперлась бы в блокировки.

НО! Основная замута в том, что многие товарищи покупают себе память - она сейчас сравнительно не дорогая, - но не получают от этой памяти никаких преимуществ. Она просто выдирается мелкософтовским скулом до порога ограничений, а когда ее вдруг перестает хватать, то часть информации скул теряет, освобождая для новых пачек данных (был, кстати, мастеркласс на эту тему на митапе про постгрес и скул). Вот у тебя много памяти, вот ты и пишешь, и читаешь, и читаешь много. Вот начал ты много читать - скулу не стало хватать памяти для поддержки оперативного кеша с данными об остатках взаиморасчетов и товаров, и он просто освободил эти данные для того, чтобы загрузить туда данные отчета - все эти миллионы временных таблиц, сворачиваемых в финальном блоке запроса, как любят это делать 1С-неги, получившие степень "спеца по платформе". В итоге у тебя при следующей транзакции происходит чтение оперативных данных с диска, а для их размещения в памяти еще что-нибудь нужное освобождается в этой конкретной базе. Когда все в этой базе закончится, начнется освобождение того, что было поначитано в другой базе. Ну и т.д. А разделил инстанс, и большую часть времени отчетная база освобождает себе данные себя самой от предыдущих отчетов, а не данные оперативной базы, которые этой оперативной базе понадобились бы. Ведь внутри одного инстанса у скула нет приоритета, какие данные важнее, а какие можно освободить - он просто грохает, что более старое, и все.
8. YPermitin 12549 29.08.20 11:39 Сейчас в теме
(7) как и год назад Вы проигнорировали все факты что я написал и просто сказали, что у Вас все хорошо :) Только оьщие слова.

Бессмысленое обсуждение получилось. Вы либо меня троллите, либо просто игнорируете:)))

Продолжать смысла нет.
9. starik-2005 2680 29.08.20 21:11 Сейчас в теме
(8)
Продолжать смысла нет.
Так и Вы все мои аргументы игнорируете, даже не пытаясь понять.

Если сервер на одном инстансе и отчеты собирает, и транзакции пишет, то если инстансы разделить, то количество операций ввода-выводе не поменяется. Я, например, не понимаю, с чем тут можно спорить? Нет блокировок - нет тормозов. А бэкапы - ну кто ж снапшот бэкапит, а для бэкапа транзакций основной базы нет никаких ограничений, только при восстановлении снапшот нужно будет прибить, а это не проблема совершенно.
10. starik-2005 2680 18.03.21 10:31 Сейчас в теме
(8)
как и год назад
Кстати, "год назад" Высо мной согласились, а теперь вот рогом уперлись. Странно...
11. YPermitin 12549 18.03.21 11:13 Сейчас в теме
(10) Спустя полгода неймется? :)))))
12. starik-2005 2680 18.03.21 11:17 Сейчас в теме
(11) просто обратил внимание на последний комментарий с опозданием )))
13. soldatovroman 19.11.21 20:54 Сейчас в теме
Юрий, этот инструмент сможет работать со вторичной репликой, созданной при помощи механизма групп доступности AlwaysOn в версии Standard Edition Microsoft SQL?

Как известно, Always On доступен в Standard редакции, но с некоторыми ограничениями:
Лимит на 2 реплики (основную и вторичную);
Вторичная реплика не может быть использована для read доступа;
Вторичная реплика не может быть использована для резервного копирования MS SQL
Поддержка только 1 базы данных на группу доступности
Оставьте свое сообщение

См. также

Обслуживание баз данных 1C на Postgresql под Astra Linux Промо

Администрирование СУБД Инструменты администратора БД Linux v8 Абонемент ($m)

Эта публикация для тех специалистов 1С, которые развернули сервер 1С и сервер PostgreSQL под Astra Linux и которым не интересно работать в командной строке, выполняя «шаманские» скрипты для автоматического сохранения и восстановления баз. Возможно вам тоже будет удобно обслуживать базы данных PostgreSQL решением на платформе 1С.

1 стартмани

14.06.2022    1504    4    alfanika    9    

Поиск текущих блокировок СУБД, вызванных 1С

Инструменты администратора БД Инструментарий разработчика Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Отчет, отображающий блокировки объектов СУБД на текущее время, вызванные пользователями 1С или фоновыми заданиями.

5 стартмани

07.07.2022    698    6    nikolasx    5    

Решение проблем подвисания 1С “в онлайне”. Инструмент - консоль управления блокировками и процессами 1С и SQL

HighLoad оптимизация Администрирование СУБД v8 v8::УФ 8.3.14 1cv8.cf Абонемент ($m)

Обработка-консоль, улучшенная версия консоли администрирования 1С для решения проблем с производительностью, поиска и устранения блокировок и длительных запросов. Тестировалось на платформе 8.3.14, 8.3.17, 8.3.20 УФ.

1 стартмани

04.07.2022    2143    29    victor_goodwill    6    

Многопоточная обработка данных Промо

HighLoad оптимизация Инструменты администратора БД v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

23.11.2018    36154    140    _ASZ_    17    

Базы данных. Несколько шагов до серьезного обслуживания

Администрирование СУБД Бесплатно (free)

Практические примеры настройки обслуживания баз данных для SQL Server. Актуально для любых приложений.

22.05.2022    5920    YPermitin    22    

Познавательный PowerShell

Языки и среды Бесплатно (free)

Еще немного PowerShell нам в помощь.

13.05.2022    3710    YPermitin    17    

Динамическое обновление - это зло?

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    10653    YPermitin    75    

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" Промо

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    32120    44    ZLENKO    14    

Копия базы 1С для отчетов. Как работать с репликой только для чтения

HighLoad оптимизация Бесплатно (free)

Подходы к работе с репликами только для чтения. Практические способы перевода OLAP-нагрузки из основной базы в копию и новые возможности масштабирования.

30.04.2022    4530    YPermitin    32    

Генератор представлений для базы данных 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка для генерации скриптов создания представлений баз данных 1С. Поддержка SQL Server + некоторые служебные функции.

10 стартмани

20.02.2022    5559    5    YPermitin    0    

Нагрузочный тест для базы данных 1С (обычные формы)

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Универсальный нагрузочный тест для баз данных 1С. Позволяет оценивать производительность работы в конкретной базе данных при подборе параметров сервера. Тест производит циклическое перепроведение документов и замер скорости на каждом цикле. Выбирается интервал документов и виды документов для перепроведения.

1 стартмани

27.12.2021    2508    5    Miket78    4    

Просмотр и анализ журнала регистрации (отчет на СКД) Промо

Журнал регистрации v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Отчет на базе системы компоновки данных (СКД) для просмотра записей журнала регистрации. В отчете можно использовать возможности СКД для вывода отчета в различных вариантах (список, таблица, диаграмма). Поддерживаются все возможности журнала регистрации (фильтры, получаемые колонки, максимальное количество записей).

5 стартмани

25.07.2013    81433    1170    YPermitin    60    

Обработка данных в фоновых потоках

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Выполнение заданных действий над выбранными данными в фоновых заданиях.

3 стартмани

30.10.2021    3473    5    MaxxiMiliSan    4    

Анализ используемых отчетов

Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Если вам необходимо анализировать, кто, когда и какой запустил отчет, то это расширение для Вас!

1 стартмани

14.10.2021    2503    11    Smikle    1    

Изыскания на тему записи в регистр сведений

HighLoad оптимизация v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Уважаемые коллеги, здравствуйте! Сегодня хочу поделиться с Вами своими изысканиями на тему записи в регистр сведений в контексте оптимизации одной операции. Однажды мы столкнулись со следующей проблемой: поступили жалобы от разработчиков сайта, что наш веб-сервис очень медленно реагирует, точней, обработка запроса не укладывается в таймаут 5 секунд, и сайт получает ошибку 500. Стали разбираться, и вот что выяснили.

1 стартмани

21.09.2021    8422    0    METAL    57    

И снова о скорости работы 1с 8.х + тест от Гилева (конфигурация TPС_1C_GILV_A) + как Выбрать сервер для 1С 8.х Промо

HighLoad оптимизация v8 1cv8.cf Россия Абонемент ($m)

Предыстория: Есть в конторе, где я работаю, пара практически ОДИНАКОВЫХ по железу сервера... так вот заметили что на одном из них 1С 8.2 работает значительно быстрей что в Клиент-Серверном, что в файловом варианте... и что именно удивило так это что медленней работал сервер с большим количеством Оперативной памяти + RAID10 на SSD. Проводили много тестов на работу дисковой системы + различные тесты SQL - ВЫВОД: ничего непонятно где тормоза. И вот попала ко мне конфигурация 1С для оценки производительности 1С от Гилева http://infostart.ru/public/57204/ Подробности в Описании...

2 стартмани

13.08.2012    647525    658    sanfoto    2561    

Сравнение замеров производительности

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Бывают ситуации, когда необходимо быстро определить, в чем разница при выполнении, например, проведения документа. Я обычно для решения данной задачи использовал два замера и сравнивал в коде. Это помогало при небольшом количестве строк кода, но, когда их тысячи, или сотни тысяч, проще воспользоваться обработкой, которая позволяет находить различия в замерах производительности.

2 стартмани

06.09.2021    2467    6    17808849    4    

Где баланс между производительностью и возможностями программы ? Исправление автоподбора контрагента в УНФ

Рефакторинг и качество кода HighLoad оптимизация Адаптация типовых решений v8 УНФ Россия УУ Абонемент ($m)

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

1 стартмани

27.08.2021    3995    0    con-men    0    

Просмотр файлов технологических журналов 1С (WinAPI)

HighLoad оптимизация Технологический журнал v8 Россия Абонемент ($m)

Программа просмотра файлов технологических журналов 1С (WinAPI). Работает с большими файлами. Минимальное потребление памяти при индексировании данных, просмотре. Анализ управляемых взаимоблокировок, таймаутов, ожиданий. Фильтры по событиям, периоду, пользователям, соединениям, сеансам.

1 стартмани

24.08.2021    4102    16    sdf1979    17    

Полная очистка кэша 1С (платформа 8.2 и 8.3)

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Скрипт выполняет полную очистку кэша 1С:Предприятие 8.2, 8.3, хранящегося по умолчанию на диске С.

1 стартмани

16.08.2021    2897    14    napan    4    

Файловый менеджер для 1С. Работает на сервере 1С Предприятия на ОС Linux и Windows

Администрирование СУБД v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка "файловый менеджер". Может быть запущена из любой типовой или самописной конфигурации. Будет работать как в файловом, так и в клиент-серверном режиме работы 1С: Предприятия. Управляемые формы.

5 стартмани

09.08.2021    3085    19    Svb84    3    

Список пользователей за указанный период по выбранным информационным базам с возможностью настройки вывода через СКД (управляемые формы)

Администрирование СУБД v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Внешняя обработка для вывода списка пользователей за указанный период по выбранным информационным базам с возможностью настройки вывода через СКД (управляемые формы).

1 стартмани

23.07.2021    3449    3    mayz    0    

Как 1С всю оперативную память съел...

HighLoad оптимизация v8 ЗУП3.x Россия Абонемент ($m)

В данной статье рассматривается обход (средствами встроенного языка) ошибки: "Превышен максимальный расход памяти сервера за один вызов" при рассылке расчетных листков в ЗУП 3.1 250+ сотрудникам.

1 стартмани

17.06.2021    7498    6    iD1n    0    

Исправление ошибки "Не удалось выполнить обработчик обновления" при обновлении БГУ на релиз 2.0.78.38

Корректировка данных Администрирование СУБД v8 v8::БУ БГУ Россия БУ Абонемент ($m)

Обход ошибки обновления релиза Бухгалтерии государственного учреждения на 2.0.78.38 вида Не удалось выполнить обработчик обновления "Документы.ЭлектронныйДокументВходящийЭДО.ОбработатьДанныеДляПереходаНаНовуюВерсию".

1 стартмани

08.06.2021    5389    11    the1    2    

Выполнение регламентного задания не в фоне на управляемых формах

Администрирование СУБД v8 v8::УФ 1cv8.cf Абонемент ($m)

Иногда как в процессе отладки, так и при администрировании базы 1С нужно быстро выполнить регламентное задание не в фоне.

2 стартмани

31.05.2021    4076    5    capitan    2    

Копирование конфигурации 1С с сохранением структуры хранения SQL

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Скрипт SQL, позволяющий скопировать базу данных 1С без данных, но с конфигурацией и с сохранением структуры хранения на сервере SQL.

1 стартмани

28.05.2021    3282    1    tedkuban    2    

Отправка обращений в службу поддержки из базы 1С

Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Расширение конфигурации, позволяющее отправить обращение в службу поддержки из базы 1С.

1 стартмани

12.05.2021    3194    1    itsys    9    

Массовое добавление баз на сервере

Администрирование СУБД v8 Платформа 1C v8.2 Платформа 1С v8.1 Абонемент ($m)

Программа для массового добавления баз пользователям на сервере терминалов (RDP).

1 стартмани

21.04.2021    3611    3    dcdn    3    

Оперативное оповещение пользователей прямо в 1С, принудительное завершение сеанса

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Наше расширение позволяет оперативно оповещать всех пользователей 1С. Расширение будет полезно, когда нужно, чтобы все пользователи завершили сеанс. Возможность принудительного закрытия сеанса пользователя происходит без агента сервера. Данная разработка подходит для всех основных конфигураций линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). Особенно подойдет тем, кто работает в файловой базе.

3 стартмани

15.04.2021    3804    15    SerG_Mur    8    

Работа с фоновыми заданиями (уведомления о зависших, отмена, анализ)

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Не ждите, когда "зазвонят во все колокола", если фоновое задание зависнет, вы получите письмо.

1 стартмани

14.04.2021    3315    3    pridecom    0    

Блокировка работы с внешними ресурсами - режим копии базы

Администрирование СУБД v8 БП3.0 Россия Абонемент ($m)

Обработка для перевода базы в режим работы "копия". Блокировка работы базы с внешними ресурсами.

1 стартмани

30.03.2021    4986    19    stdstd    2    

Восстановление базы Postgres

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Скрипт переноса таблиц из битой базы в рабочую.

1 стартмани

09.03.2021    3456    0    hudoznik    5    

ЦУП 2.1.6 Исправленная обработка выгрузки метаданных для платформы 8.2

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Обработка предназначена для ЦУП 2.1.6. Исправленная типовая обработка для выгрузки метаданных для конфигурацию, работающих на платформе 8.2 (в т.ч. в режиме совместимости).

1 стартмани

04.03.2021    3396    1    SpecRam    0    

Включение/отключение использования итогов регистров

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.02.2021    4367    19    Kopitsa.k    3    

Проверка обновления конфигурации по расписанию с уведомлением на почту

Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

23.01.2021    3762    7    r.moschenskiy    0    

Обслуживание баз SQL средствами 1С

Администрирование СУБД v8 Абонемент ($m)

Обработка позволяет обслуживать SQL базы средствами 1С. Выполнять скрипты по перестроению индексов, обновлению статистики и очистки SQL кэша.

1 стартмани

21.01.2021    5635    5    elephant_x    6    

Автоматическое обновление адресных классификаторов

Администрирование СУБД v8 БП3.0 ЗУП3.x Абонемент ($m)

Автоматизация обновления адресного классификатора по загруженным ранее регионам в БП / ЗУП 3.0.

1 стартмани

12.01.2021    5151    8    user742972    2    

Расширение "Вышибала"

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Простое расширение конфигурации для прекращения работы пользователей (для базы в файловом варианте работы).

1 стартмани

31.12.2020    5526    5    AnryMc    6    

Метаданные и их идентификаторы

Инструментарий разработчика v8 Бесплатно (free)

Идентификаторы (GUID'ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020    18912    YPermitin    28    

Контекст всегда важен. История проблем производительности

HighLoad оптимизация Бесплатно (free)

Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.

26.11.2020    8786    YPermitin    21    

Выгрузка файлов из внутренних документов 1С: ДО с формированием структуры каталогов на локальном диске

Администрирование СУБД v8 ДО Россия Абонемент ($m)

Обработка создает структуру папок в Windows на основании структуры папок внутренних документов и вложенных внутренних документов, выгружает файлы в созданную структуру.

1 стартмани

29.10.2020    4361    14    user1077162    2    

Управление настройками видимости отчетов пользователей для УТ 11.4

Администрирование СУБД v8 v8::Права УТ11 Россия Абонемент ($m)

Возникла необходимость настроить видимость отчетов пользователям. При большом числе внешних отчетов с настройкой видимости "для всех" список отчетов сложно воспринимать. Пользователи просили убрать лишние не нужные им отчеты. Они могут настроить сами, но, конечно, ленятся - в итоге это ложится на плечи программиста 1С. Обработка позволяет скрыть неиспользуемые отчеты из списка отчетов по разделам, доступным пользователю. Также данные настройки можно скопировать другим пользователям из списка. Может быть полезна программистам 1С, администраторам БД. Делалась для себя, может, кому-то пригодится.

1 стартмани

22.10.2020    5185    8    natlens    1    

Просмотр и редактирование таблиц базы данных

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Очередная обработка для просмотра и редактирования таблиц базы данных из разряда "на каждый день".

1 стартмани

20.10.2020    4645    4    KAPACEB.AA    0