RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Если база данных имеет большой размер

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

dvsys_help_show_section_size

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


1. dvtable_{388F390F-139E-498E-A461-A24FBA160487}

В данной таблице хранятся журналы всех экземпляров бизнес-процессов, которые существуют в системе. Для уменьшения размера таблиц нужно:
1. Удалить все отработавшие и уже не нужные экземпляры бизнес-процессов. Если запускаются подпроцессы, то необходимо сделать настройку удаления подпроцессов после завершения.
2. Определить какой из процессов делает большее число записей. Сделать это можно посмотрев на поле InstanceID в строке из данной таблицы. В этом поле содержится идентификатор карточки экземпляра бизнес-процесса. Журнал такого процесса, если он не нужен, можно очистить.
Команда очистки журнала определенного процесса:
DELETE FROM [dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID = 'ТУТ_ДОЛЖЕН_БЫТЬ_ID_ПРОЦЕССА_БЕЗ_ФИГУРНЫХ_СКОБОК'

Для удаления журналов всех завершенных бизнес-процессов выполните:
DELETE FROM [dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID IN
(SELECT InstanceID FROM [dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}] WHERE State = 4)


Можно удалить журналы всех экземпляров бизнес-процессов. На работу системы это не повлияет, однако, если есть процессы, приостановленные по ошибке, то причину остановки не удастся выяснить без журнала. Поэтому сначала нужно проверить нет ли процессов приостановленных по ошибке. Выяснить причину, а затем очищать таблицу.
Для удаления всех строк таблицы выполните:
TRUNCATE TABLE dvtable_{388F390F-139E-498E-A461-A24FBA160487}

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


2. dvsys_log

В этой таблице хранятся записи журнала «Навигатора». Для того, чтобы журнал не увеличивался не ограниченно в размерах необходимо настроить автоматическую очистку. Для этого в журнале навигатора выставьте опцию «Очищать журнал» с соответствующим параметром. И в консоли настройки задайте «Папку для выгруженных файлов журнала». При такой очистке журнал будет выгружаться на диск (при помощи bcp). Это позволит в дальнейшем восстановить журнал при необходимости.
Удалить все записи из этой таблицы можно так же вручную запросом:
TRUNCATE TABLE dvsys_log


3. dvsys_files (dvsys_binaries)

В этой таблице хранятся все файлы, загруженные в DocsVision. Уменьшить размер этой таблицы можно только удалив ненужные файлы. Читать дальше

5 коммент.:

Irhen комментирует...

Спасибо за ценные советы.
Есть такой вопрос. Когда пользуемся процедурой
dvsys_help_show_section_size, то в результатах есть две колонки: reservedKB и dataKB. Иногда значения в них значительно различаются. На какую из них следует ориентироваться?
И если можно, поясните, пожалуйста, что означают колонки: index_sizeKB и unusedKB.

Михаил Захаров комментирует...

Спасибо, за то что читаете :)

reservedKB - место которое зарезервировано SQL сервером под данные
dataKB - реальный объем данных

index_sizeKB - размер места, занимаемого индексом
unusedKB - место, которое зарезервировано SQL сервером для индексов

Ориентироваться надо на колонку dataKB - это реальный объем занимаемых данных. (можно на сумму dataKB+index_sizeKB)

Ice комментирует...

Недавно столкнулся с ситуацией, когда БП зациклился (каждые 30 сек. выполнялся скрипт, но падал с ошибкой, потому что обрабатываемая карточка была удалена), в итоге, за две недели, таблица журналов БП выросла с ~2 до 50 Гб!
След. запрос:

select instanceid, count(*) as col_log FROM [dvtable_{388F390F-139E-498E-A461-A24FBA160487}]
WHERE InstanceID IN (SELECT InstanceID FROM [dvtable_{0EF6BCCA-7A09-4027-A3A2-D2EEECA1BF4D}] WHERE State = 1)
group by InstanceID order by col_log desc

Выдавал такой рез-т:

49045078-B22C-4538-BFAC-E97397CC5973 4494400
212B035D-DA12-4B82-BA84-BD3B6582E43A 117296
3C169FA2-0C07-49A7-94D6-896E51CD6D95 30938
FA5E524A-A0E7-48FD-997A-B4FCCDA76302 25156
42112FED-C259-4F02-B1D1-15D209FF59CD 22542
8EBB03F2-D38C-43ED-864A-5D79B3E965C9 7595
7C3C80C7-3B73-4893-A235-7C6CC37D3CCD 3623
94477A9E-2B77-4A76-AC1B-FFB302AE6BD0 1805
52D56B7C-57D8-45B5-BF3D-E83F62F44C12 1803
ED0AAB6B-B7AB-48F9-A439-9185A7EA17BC 1365
5CE94A0F-AD44-4495-90FC-13D5094D39B8 1349
0930E56A-2CB8-4B67-9E7F-3661E8DE367E 1274
............................................

Т.е. 4.5 млн. записей в журнале проблемного БП. Естественно, через навигатор такое просмотреть не получится...

К сожалению, в DV, как оказалось, нельзя выставить ограничение на кол-во записей в журнале БП. А это было бы полезной функцией для предотвращения таких инцидентов.

Unknown комментирует...
Этот комментарий был удален автором.
Unknown комментирует...

Не подскажите, где в SQL хранится "История заданий"?
Иногда бывает необходимость посмотреть по уже отработанному заданию (которого нет в Завершенных, потому что этап согласования закончен) историю.
Может что-то сохраняется в БД? Ну и заодно еще одно место для "чистки".

Отправить комментарий