remove message queue database

Как уменьшить размер базы транспортной очереди(message queue database)?

Microsoft Exchange Server, начиная с версии 2007, хранит сообщения очередей в базе данных формата ESE — Mail.que, расположенной в папке %ExchangeInstallPath%TransportRoles\data\Queue. После нескольких лет эксплуатации база данных транспортных очередей может вырасти до огромных размеров. В моем случае, примерно за 4 года эксплуатации Exchange Server 2010 она выросла до 900МБ, не много конечно, но в Интернете встречаются случаи, когда ее размер доходил до 80-100 ГБ. После создания базы заново ее размер будет 8Мб. Большой объем базы может сказаться  на производительности системы и занимать лишнее пространство на диске.  Я же обратил на это внимание, когда один из моих транспортных серверов начал жутко «тормозить» из-за работы антивируса. После пересоздания базы данных очередей, проблема исчезла.

Хоть Exchange и совершает автоматическую  онлайн дефрагментации этой базы, но размер ее никогда не уменьшится. К примеру, если во время сбоя, ваш транспортный сервер принял и хранил в очереди 10Гб почты, то потом, когда почта уйдет,  размер файла хранения останется 10Гб .  Поэтому моя рекомендация, если база выросла больше 200Мб, то ее нужно создать заново. Делается это следующим образом.

1. Необходимо поставить сервис Microsoft Exchange Transport на паузу. Сервис перестанет принимать сообщения, но «разделается» со всеми сообщениями в очередях.

pause msexchangetransport

2. Запустите коммандлет Get-Queue и убедитесь, что в очередях не осталось сообщений.

3. Остановите сервис Microsoft Exchange Transport.

4. Откройте папку  %ExchangeInstallPath%TransportRoles\data\Queue и убедитесь, что файл mail.que находится в нем.

size transport queue database5. После этого этого переименуйте каталог  %ExchangeInstallPath%TransportRoles\data\Queue  в %ExchangeInstallPath%TransportRoles\data\Queue1 .

6. Запустите сервис Microsoft Exchange Transport, папка Queue, база mail.que и лог файлы будут созданы. Размер заново созданной базы будет около 8,2 Мб.

queue

7. Удостоверьтесь, что служба транспорта нормально работает и можно удалять папку Queue1.

 

Информация о расположении файла базы данных находятся в файле %ExchangeInstallPath%Bin\EdgeTransport.exe.config, поэтому, если вы хотите переместить базу, то вместо шага 5 измените путь к новому файлу и выполните шаг 6.

Path to transport queue database

Связанные записи:


, ,

  • Рыбий жир

    База данных очередей? Надо же.

  • http://facebook.com/profile.php?id=1386655156 Павел Нагаев

    Ололо

  • Valeriy Gromov

    Правильнее пенерастроить расположение папок message queue database при помощи готового скрипта в Exchange — вот мануал (второй способ):
    https://exchange365in.wordpress.com/2016/10/14/change-exchange-server-20132016-mail-queue-database-location/

    Вкратце:
    1. Microsoft has created a scripts called Move-TransportDatabase.ps1 (located in the $ExScripts directory) which changes the location, moves the Queue Database and restarts the Transport service automatically. The Move-TransportDatabase.ps1 script takes the following parameters
    2. Run Exchange power shell with elevated rights.
    3. Execute: cd $exscripts
    4. .Move-TransportDatabase.ps1 -queueDatabasePath ‘E:TransportRolesdataQueue’ -queueDatabaseLoggingPath ‘E:TransportRolesdataQueue’ -iPFilterDatabasePath ‘E:TransportRolesdataIpFilter’ -iPFilterDatabaseLoggingPath ‘E:TransportRolesdataIpFilter’ -temporaryStoragePath ‘E:TransportRolesdataTemp’