none
Восстановление базы данных на другом сервере RRS feed

  • Вопрос

  • Доброго вечера. Хочу протестировать восстановление базы на другом сервере. И не выходит каменный цветок.
    Что имею:
    - основной сервер Windows Server SBS 2011. Версия Exchange 14.2.247.5 + roll up 5v2 для SP2. Имя сервера MX.MAIL.LOCAL

    - новый сервер Windows Server 2008 R2. он же контроллер другого домена IBM.MAIL.LOCAL. Версия Exchange такая же.

    Сервера физически между собой не связаны. Был сделан бекап основного сервера средствами встроенного Windows Backup Server. Две папки: с базой и логами Е03.

    Обе папки были скопированы на новый сервер. Была заранее создана одноимённая база. Логи новой базы Е01 (если это важно). На место её файлов были скопированы из бекапа. Далее нужно сделать статус базы Clean Shutdown. Удалось сделать это только через ключ Р :

    [PS] C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms>esentutl.exe /p .\sms.edb
    
    Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
    Version 6.1
    Copyright (C) Microsoft Corporation. All Rights Reserved.
    
    Initiating REPAIR mode...
            Database: .\sms.edb
      Temp. Database: TEMPREPAIR4864.EDB
    
    Checking database integrity.
    
                         Scanning Status (% complete)
    
              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
              ...................................................
    
    
    Integrity check successful.
    
    Note:
      It is recommended that you immediately perform a full backup
      of this database. If you restore a backup made before the
      repair, the database will be rolled back to the state
      it was in at the time of that backup.
    
    Operation completed successfully in 1034.297 seconds.
    [PS] C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms>esentutl.exe /mh .\sms.edb
    
    Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
    Version 6.1
    Copyright (C) Microsoft Corporation. All Rights Reserved.
    
    Initiating FILE DUMP mode...
             Database: .\sms.edb
    
    DATABASE HEADER:
    Checksum Information:
    Expected Checksum: 0x013d4c26
      Actual Checksum: 0x013d4c26
    
    Fields:
            File Type: Database
             Checksum: 0x13d4c26
       Format ulMagic: 0x89abcdef
       Engine ulMagic: 0x89abcdef
     Format ulVersion: 0x620,17
     Engine ulVersion: 0x620,17
    Created ulVersion: 0x620,17
         DB Signature: Create time:01/14/2013 16:20:07 Rand:5022372 Computer:
             cbDbPage: 32768
               dbtime: 243216258 (0xe7f2f82)
                State: Clean Shutdown
         Log Required: 0-0 (0x0-0x0)
        Log Committed: 0-0 (0x0-0x0)
      GenMax Creation: 00/00/1900 00:00:00
             Shadowed: Yes
           Last Objid: 14769
         Scrub Dbtime: 0 (0x0)
           Scrub Date: 00/00/1900 00:00:00
         Repair Count: 2
          Repair Date: 01/14/2013 16:20:07
     Old Repair Count: 0
      Last Consistent: (0x0,0,0)  01/14/2013 17:09:13
          Last Attach: (0x0,0,0)  01/14/2013 16:20:07
          Last Detach: (0x0,0,0)  01/14/2013 17:09:13
                 Dbid: 1
        Log Signature: Create time:00/00/1900 00:00:00 Rand:0 Computer:
           OS Version: (6.1.7601 SP 1 NLS 60101.60101)
    
    Previous Full Backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
    Previous Incremental Backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
    Previous Copy Backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
    Previous Differential Backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
    Current Full Backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
    Current Shadow copy backup:
            Log Gen: 0-0 (0x0-0x0)
               Mark: (0x0,0,0)
               Mark: 00/00/1900 00:00:00
    
         cpgUpgrade55Format: 0
        cpgUpgradeFreePages: 0
    cpgUpgradeSpaceMapPages: 0
    
           ECC Fix Success Count: none
       Old ECC Fix Success Count: none
             ECC Fix Error Count: none
         Old ECC Fix Error Count: none
        Bad Checksum Error Count: none
    Old bad Checksum Error Count: none
    
      Last checksum finish Date: 00/00/1900 00:00:00
    Current checksum start Date: 00/00/1900 00:00:00
          Current checksum page: 0
    
    Operation completed successfully in 0.172 seconds.

    При попытке смонтировать базу получаю ошибку:

    --------------------------------------------------------
    Microsoft Exchange Error
    --------------------------------------------------------
    Failed to mount database 'sms'.
    
    sms
    Failed
    Error:
    Couldn't mount the database that you specified. Specified database: sms; Error code: An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionJetErrorMissingLogFile: Unable to mount database. (hr=0x80004005, ec=-528)
    . [Database: sms, Server: IBM.MAIL.LOCAL].
    
    An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionJetErrorMissingLogFile: Unable to mount database. (hr=0x80004005, ec=-528)
    . [Database: sms, Server: IBM.MAIL.LOCAL]
    
    An Active Manager operation failed. Error Operation failed with message: MapiExceptionJetErrorMissingLogFile: Unable to mount database. (hr=0x80004005, ec=-528)
    . [Server: IBM.MAIL.LOCAL]
    
    MapiExceptionJetErrorMissingLogFile: Unable to mount database. (hr=0x80004005, ec=-528)
    
    --------------------------------------------------------
    OK
    --------------------------------------------------------

    Выполняю восстановление логов?

    [PS] C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms> esentutl.exe /ml E03
    
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D319.log
                    ERROR: Cannot read log file header. Error -514.
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D31A.log
                    ERROR: Cannot read log file header. Error -514.
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D31B.log
                    ERROR: Cannot read log file header. Error -514.
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D31C.log
                    ERROR: Cannot read log file header. Error -514.
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D31D.log
                    ERROR: Cannot read log file header. Error -514.
          Log file: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\sms\E030001D31E.log
                    ERROR: Cannot read log file header. Error -514.
    
    Operation terminated with error -514 (JET_errBadLogVersion, Version of log file is not compatible with Jet version) after 3.62 seconds.

    Что дальше делать - я не знаю. Помогите советом. Спасибо!


    14 января 2013 г. 16:55
    Модератор

Ответы

  • Установите сервер Exchange 2010 c именем MX.MAIL.LOCAL с версией Exchange 14.2.247.5 + roll up 5v2 для SP2.

    Тогда можно еще раз попробовать.

    Вот описание того что вы пытаетесь сделать.

    Database Portability Exchange 2010


    MCITP. Знание - не уменьшает нашей глупости.

    17 января 2013 г. 6:14
    Модератор
  • Добрый день,

    Можно  так,

    Выполнить Dismount-Database для баз источника и новой.

    Для двух баз источника и новой, выполнить:

    Set-MailboxDatabase -id DB_Name -AllowFileRestore $true

    Если база источник в "Clean Shutdown" то скопировать ее в место новой. И выполнить Mount-Database для новой базы.


    MCTS: Microsoft Exchange Server 2007/2010 | MCSA


    17 января 2013 г. 9:17
  • Clean-MailboxDatabase -id DB_Name
     Где DB_Name имя новой базы из которой не видны ящики.

    MCTS: Microsoft Exchange Server 2007/2010 | MCSA

    • Помечено в качестве ответа AnahaymModerator 17 января 2013 г. 12:01
    17 января 2013 г. 11:32

Все ответы

  • Мне видится проблема в том, что префиксы баз данных на оригинальном и конечном серверах не совпадают. Повторно скопируйте базу и лог файлы а затем переименнуйте все лог файлы чтобы они начинались с префикса E01. Затем попробуйте смонтировать базу в обычном режиме. В случае если это не поможет, то опять проведите восстановление БД с ключем /p, затем удалите все логи и смонитруйте базу
    15 января 2013 г. 8:48
  • не помогло. При монтировании такая ошибка:

    --------------------------------------------------------
    Microsoft Exchange Error
    --------------------------------------------------------
    Failed to mount database 'sms'.
    
    sms
    Failed
    Error:
    Couldn't mount the database that you specified. Specified database: sms; Error code: An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Database: sms, Server: IBM.MAIL.LOCAL].
    
    An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Database: sms, Server: IBM.MAIL.LOCAL]
    
    An Active Manager operation failed. Error Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Server: IBM.MAIL.LOCAL]
    
    MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    
    --------------------------------------------------------
    OK
    --------------------------------------------------------
    

    15 января 2013 г. 14:51
    Модератор
  • Родную eseutil.exe от Exchange вместо esentutl.exe (из Windows) использовать не пробовали?


    Слава России!

    15 января 2013 г. 20:58
  • День добрый.

    1. eseutil /mh "C:\Mailbox Database\Mailbox Database.edb"
    2. eseutil /p "C:\Mailbox Database\Mailbox Database.edb"
    3. eseutil /mh "C:\Mailbox Database\Mailbox Database.edb"
    4. eseutil /ml "C:\Mailbox Database\E00"
    5. При поврежденных журналах можите получить сообщение об ошибках. Если состояние базы Clean Shutdown, то журналы можно удалить.
    6. После этого примонтировать базу.

    Exchange Database Recovery – Using eseutil commands 

    Вот подобное решение вашей ошибки монтирования базы.

    http://social.technet.microsoft.com/Forums/en/exchange2010/thread/eb99d383-3a19-4e58-9e9f-cc9c881107b2


    MCITP. Знание - не уменьшает нашей глупости.


    16 января 2013 г. 5:59
    Модератор
  • Вот я олень... я думал что только одна команда начинается на ese.... дальше TAB-ом продолжал команды и не смотрел.
    Сейчас сделаю eseutil. Пока такой вопрос. Тестовый сервер у меня не очень мощный и по дискам тоже. Для ключа Р написано - иметь свободное место на диске равное размеру базы. А у меня только 50 % есть свободно. Т.е. 15 GB, а не 30. Это критично?


    16 января 2013 г. 8:51
    Модератор
  • Да критично, при восстановлении создается копия базы, при недостатке места база не создастся. 

    MCITP. Знание - не уменьшает нашей глупости.

    16 января 2013 г. 8:55
    Модератор
  • но есть второй диск. там как раз 35 GB свободно. Можно Exchange указать где он будет создавать временную базу?
    16 января 2013 г. 8:57
    Модератор
  • Нет, нельзя
    16 января 2013 г. 9:48
  • сделал все пункты. ошибка. сделал Setup /PrepareAD, проверил Manage auditing and security log группа MAIL\Exchange Servers есть - снова ошибка. Если размер диска влияет на это, то сейчас попробую на другом диске базу создать и свою туда подсунуть.

    16 января 2013 г. 10:27
    Модератор
  • После переноса базы на бОльший диск, восстановление заняло гораздо больше времени:

    [PS] E:\sms>eseutil.exe /p .\sms.edb
    Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
    Version 14.02
    Copyright (C) Microsoft Corporation. All Rights Reserved.
    Initiating REPAIR mode...
            Database: .\sms.edb
      Temp. Database: TEMPREPAIR1496.EDB
    Checking database integrity.
    The database is not up-to-date. This operation may find that
    this database is corrupt because data from the log files has
    yet to be placed in the database.
    To ensure the database is up-to-date please use the 'Recovery' operation.
                         Scanning Status (% complete)
              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
              ...................................................
    Scanning the database.
                         Scanning Status (% complete)
              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
              ...................................................
    Repairing damaged tables.
                         Scanning Status (% complete)
              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
    Deleting unicode fixup table.
    Deleting MSObjids.
    Deleting MSysLocales.
    ...................................................
    Repair completed. Database corruption has been repaired!
    Note:
      It is recommended that you immediately perform a full backup
      of this database. If you restore a backup made before the
      repair, the database will be rolled back to the state
      it was in at the time of that backup.
    
    Operation completed successfully with 595 (JET_wrnDatabaseRepaired, Database corruption has been repaired) after 3805.62 seconds.

    Проверка логов:

    [PS] E:\sms>eseutil.exe /ml E01
    
    Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
    Version 14.02
    Copyright (C) Microsoft Corporation. All Rights Reserved.
    
    Initiating FILE DUMP mode...
    
    Verifying log files...
         Base name: E01
    
          Log file: E:\sms\E0100000001.log - OK
          Log file: E:\sms\E0100000002.log - OK
          Log file: E:\sms\E0100000003.log - OK
          Log file: E:\sms\E010000004D.log - OK
          Log file: E:\sms\E010000004E.log - OK
          Log file: E:\sms\E010000004F.log - OK
          Log file: E:\sms\E01.log - OK
    
    No damaged log files were found.
    
    Operation completed successfully in 3.437 seconds.

    При монтировании та же ошибка:

    --------------------------------------------------------
    Microsoft Exchange Error
    --------------------------------------------------------
    Failed to mount database 'sms'.
    
    sms
    Failed
    Error:
    Couldn't mount the database that you specified. Specified database: sms; Error code: An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Database: sms, Server: IBM.MAIL.LOCAL].
    
    An Active Manager operation failed. Error The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Database: sms, Server: IBM.MAIL.LOCAL]
    
    An Active Manager operation failed. Error Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    . [Server: IBM.MAIL.LOCAL]
    
    MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1011)
    --------------------------------------------------------
    OK
    --------------------------------------------------------
    

    Напомню, что база с сервера MX.MAIL.LOCAL - это отдельный домен. Пытаюсь подмонтировать на сервере IBM.MAIL.LOCAL. Домен назвал одинаково, что бы не было влияния из-за разных имён. Ну мало ли... Что не так? (

    16 января 2013 г. 14:18
    Модератор
  • Установите сервер Exchange 2010 c именем MX.MAIL.LOCAL с версией Exchange 14.2.247.5 + roll up 5v2 для SP2.

    Тогда можно еще раз попробовать.

    Вот описание того что вы пытаетесь сделать.

    Database Portability Exchange 2010


    MCITP. Знание - не уменьшает нашей глупости.

    17 января 2013 г. 6:14
    Модератор
  • Добрый день,

    Можно  так,

    Выполнить Dismount-Database для баз источника и новой.

    Для двух баз источника и новой, выполнить:

    Set-MailboxDatabase -id DB_Name -AllowFileRestore $true

    Если база источник в "Clean Shutdown" то скопировать ее в место новой. И выполнить Mount-Database для новой базы.


    MCTS: Microsoft Exchange Server 2007/2010 | MCSA


    17 января 2013 г. 9:17
  • Отлично. После команды

    Set-MailboxDatabase sms -AllowFileRestore:$true

    база смонтировалась. Теперь не совсем понятно, как пользователю назначить почтовый ящик из базы. Я создал (вручную) аналогичного пользователя (с одинаковым логином), но после выполнения команды:

    Get-Mailbox -Database sms |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database NEW

    почтовый ящик не появился. Или в моём случае нужно по другому? Ведь по ссылке "перемещения баз" всё происходит в пределах одной организации, т.е. домена. NEW - это новая база, созданная для того, чтобы туда из sms перенести почтовые ящики. Почему-то вывод команды

    Get-Mailbox -Database sms

    пустой... Как будто там нет ящиков...

    17 января 2013 г. 10:06
    Модератор
  • Ящики находятся в состояние Disconnected, их нужно подключить к новым пользователям или к существующим not-enable maiobox users, т.е. к пользователям которые не имеют почтовых ящиков. В EMC\Recipient Configuration\Diconnected Mailbox.


    MCTS: Microsoft Exchange Server 2007/2010 | MCSA



    17 января 2013 г. 10:41
  • В EMC\Recipient Configuration\Diconnected Mailbox.

    Пусто...
    17 января 2013 г. 11:19
    Модератор
  • Clean-MailboxDatabase -id DB_Name
     Где DB_Name имя новой базы из которой не видны ящики.

    MCTS: Microsoft Exchange Server 2007/2010 | MCSA

    • Помечено в качестве ответа AnahaymModerator 17 января 2013 г. 12:01
    17 января 2013 г. 11:32
  • Огромное спасибо! Всё заработало!
    17 января 2013 г. 12:02
    Модератор