Лучший отвечающий
Чем можно вытащить почту из mail.que (Safety Net)

Вопрос
-
Из-за проблем с RAID грохнулась база данных Exchange, на восстановление всех пользовательских ящиков ушло более 2х дней.
Есть файловые копии данных серверов за эти дни.
Если правильно понял то копии не доставленных писем хранятся в базе Safety Net, она-же mail.que
Подскажите, чем можно посмотреть/вытащить не доставленные письма из mail.que
17 мая 2017 г. 6:00
Ответы
-
Посмотрите логи транспорта (SmtpReceive). Тогда сможем точно понять, что происходило. Возможно письма и не дошли до очереди или не приходили вообще (или были все же доставлены в базу данных).
- Помечено в качестве ответа Vasilev VasilMicrosoft contingent staff 23 мая 2017 г. 5:43
21 мая 2017 г. 15:32
Все ответы
-
Пока не совсем понятно, что у вас произошло и в какой последовательности. Mail.que вы пересоздавали или используется старый?
Вообще самый простой вариант - остановить службу транспорта и подменить все файлы из папки, где находится очередь, на восстановленные (старые перенесите в другое место). После этого выполните командлет Get-Queue и посмотрите, сколько писем там находится. Понятно, что делать это лучше в то время, когда на сервер минимальная нагрузка.
Еще можно временно указать для очереди другую папку, в которой восстановленные файлы:
- Предложено в качестве ответа Vasilev VasilMicrosoft contingent staff 23 мая 2017 г. 5:42
17 мая 2017 г. 6:25 -
используется старый.
Несколько ящиков пользователей не удалось оперативно восстановить, ушло более 2х дней, т.е. превышен срок восстановления ящика, помимо этого есть подозрения что не вся почта попала в ящики которые восстановили до истечения указанного срока.
Подставить очередь это понятно, а можно посмотреть в базе письма не копируя файлы в продакшен...
17 мая 2017 г. 7:30 -
Ну вполне можно попробовать скопировать файлы в лабу, если она у вас есть. Если нет - то хороший повод ее развернуть :) Далее просмотреть содержимое очереди можно так:
get-queue | get-message
Экспортировать сообщения можно с помощью командлета Export-Message. Например так (самый простой вариант, но запросто можно его улучшить):
get-queue | get-message | Export-Message -Path "C:\Messages"
- Предложено в качестве ответа Vasilev VasilMicrosoft contingent staff 23 мая 2017 г. 5:42
17 мая 2017 г. 8:30 -
Ну вполне можно попробовать скопировать файлы в лабу, если она у вас есть. Если нет - то хороший повод ее развернуть :) Далее просмотреть содержимое очереди можно так:
get-queue | get-message
Экспортировать сообщения можно с помощью командлета Export-Message. Например так (самый простой вариант, но запросто можно его улучшить):
get-queue | get-message | Export-Message -Path "C:\Messages"
Спасибо, попробую.
В описании Safety Net сказано что в базе хранятся сообщения (по умолчанию 2 дня), в т.ч. доставленные, однако get-queue | get-message не позволяют увидеть эти сообщения.
Подскажите пожалуйста, если не затруднит, а как посмотреть сообщения которые вообще есть в базе Safety Net, а не только те что находятся в очереди?
17 мая 2017 г. 10:10 -
Я не очень понимаю, при чем тут Safety Net.
Вам нужна обычная очередь, которая копилась, пока база у вас была недоступна. Поэтому, как написал Артем, достаньте из бэкапа mail.que и укажите службе транспорта восстановленную базу, и если ей (службе транспорта) дурно не станет от этого, то возможно, вы получите свои письма.
MCSAnykey
- Изменено Artem S. Smirnov 17 мая 2017 г. 12:16
17 мая 2017 г. 10:42 -
Я не очень понимаю, при чем тут Safety Net.
Вам нужна обычная очередь, которая копилась, пока база у вас была недоступна. Поэтому, как написал Артем, достаньте из бэкапа mail.que и укажите службе транспорта восстановленную базу, и если ей (службе транспорта) дурно не станет от этого, то возможно, вы получите свои письма.
MCSAnykey
18 мая 2017 г. 7:03 -
Достать можно - для этого надо воспользоваться командлетами *-ResubmitRequest:
Но файл очереди все же подключить к серверу придется.
Важно так же понимать, что SafetyNet - механизм, который для работы требует наличие еще одного MBX сервера в этом же сайте (можно без DAG). Вот пример из документации:
Safety Net doesn't require DAGs. For Mailbox servers that don't belong to a DAGs, Safety Net stores copies of the delivered messages on other Mailbox servers in the local Active Directory site.
Если у вас был только один сервер, то про SafetyNet можно забыть сразу.
- Изменено Tema_BYMVP 18 мая 2017 г. 7:18
18 мая 2017 г. 7:16 -
Если у вас был только один сервер, то про SafetyNet можно забыть сразу.
Выходит что MS придумала некую хрень, внедрила ее в свой продукт, она работает, жрет ресурсы, но при этом бесполезна если сервер один :)
Этакий навес на автомобиль весом в полтонны на случай если ты захочешь купить прицеп, захочешь или нет, но хрень эту возить с собой придется, в результате чего тратиться больше бензина, а толку от этого никакого :)
18 мая 2017 г. 7:22 -
А что тут странного? Если сервер один, то какой смысл в SafetyNet? Вы потеряли данные - восстановили все из резервной копии. В том числе и очередь. А вот если был бы в этом сайте второй сервер, то на нем и хранились бы копии сообщений, которые можно проиграть в базу. Так что как раз с точки зрения Microsoft все выглядит логично.
Кстати, у вас сейчас хорошее обоснование для закупки дополнительного оборудования, лицензий и построения DAG :)
18 мая 2017 г. 7:28 -
Поднял виртуалку из бекапа, остановил транспорт, подключил очередь.
get-queue | get-message показывает что нечего в очереди нет21 мая 2017 г. 13:59 -
Посмотрите логи транспорта (SmtpReceive). Тогда сможем точно понять, что происходило. Возможно письма и не дошли до очереди или не приходили вообще (или были все же доставлены в базу данных).
- Помечено в качестве ответа Vasilev VasilMicrosoft contingent staff 23 мая 2017 г. 5:43
21 мая 2017 г. 15:32