Добрый день!
Данные:
клиент версии 3.3.2.275
база ms sql 2005
Задачи
1. Удалить все письма (всех пользователей) из БД.
2. Удалить логи.
3. Уменьшить размер БД другими способами – если есть какой-то способ (кроме шринка).
По первой задаче - В тестовой базе скл запросом удалили данные в таблицах dbo.tbl_MailMessage, dbo.tbl_MailMessageLog, dbo.tbl_MailMessageRight – но на сколько это правильно вопрос…
По второй задаче - если поступить также скл запросом - вопрос какие таблицы чистить?
Есть варианты правильного решения указанных задач (может штатные средства террасофт)?
Нравится
Насколько я помню, то готовых утилит для очистки писем и логов в 3-ке не было. Решение только написание своих скриптов.
Чтобы понять в какой таблице хранятся логи, запустите sql-профайлер, перейдите на вкладку с логами в 3-ке и посмотрите в sql-профайлере, в какую таблицу пойдет запрос.
Ещё для уменьшения размера БД можно очистить таблицу процессов и их элементов (если процессы использовались).
Также можно посмотреть, что содержится в таблице История и удалить лишнее.
В любом случае нужно понимать, что, если с базой данных активно работают пользователи, то её размер будет расти.
Насколько я помню, то готовых утилит для очистки писем и логов в 3-ке не было. Решение только написание своих скриптов.
Чтобы понять в какой таблице хранятся логи, запустите sql-профайлер, перейдите на вкладку с логами в 3-ке и посмотрите в sql-профайлере, в какую таблицу пойдет запрос.
Ещё для уменьшения размера БД можно очистить таблицу процессов и их элементов (если процессы использовались).
Также можно посмотреть, что содержится в таблице История и удалить лишнее.
В любом случае нужно понимать, что, если с базой данных активно работают пользователи, то её размер будет расти.
При удалении записей таблицу прав отдельно чистить не нужно, там каскадная связь и записи о правах удалятся вслед за записями основной таблицы сами.
Логи в других разделах устроены аналогично, плюс tbl_DatabaseLog для записей самого раздела логов.
Кроме почты и логов, много места могут занимать таблицы файлов каждого раздела.
Вообще, для быстрого поиска, куда делось место, можно воспользоваться стандартным отчётом «Disk Usage by Top Tables» в Management Studio:
Алла Савельева
Спасибо, sql-профайлер посмотрю
Зверев Александр пишет:
При удалении записей таблицу прав отдельно чистить не нужно, там каскадная связь и записи о правах удалятся вслед за записями основной таблицы сами.
Т.е. если SQL запросом удаляю только dbo.tbl_MailMessage, то dbo.tbl_MailMessageRight очистится сама?
Не понимаю как это работает... на уровне запуска клиента под супервизором запускается какой-то скрипт?
«Disk Usage by Top Tables» так и нашел dbo.tbl_MailMessage
В TSAdmin у связи в таблице прав стоит галка «каскадная связь». На уровне базы удаление в связанных таблицах работает при помощи триггера tr_tbl_MailMessage_ID и аналогичных для каждого раздела.