fastest way to migrate exchange 2010 mailboxes to another exchange 2010 server in same domain

23

With all things being equal Database portability is the fastest way to do it but mailboxes will be offline during the move.

Sequence of tasks that need to take place:

  • Dismount mailbox database on old server
  • Run eseutil /MH NAME.edb to confirm you have a clean shutdown.
  • Create new mailbox store on New Exchange server and mount it.
  • Dismount the new mailbox store
  • Manually copy the old database to the new mailbox store database location (make sure it is the same name)
  • Run the following command on new server Set-MailboxDatabase DBNAME -AllowFileRestore:$true
  • Delete the transaction log files and checkpoint files for that database.
  • Mount the store.
  • Finally modify user account settings so user access points to the new mailbox server
    Get-Mailbox -Database OLD_DB | where {$_ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'} | Set-Mailbox -Database NEW_DB

(Remember as always to test before migrating production databases)

The other way (which is slower, but requires no downtime) is to create the databases on the new exchange server and issue mailbox moves to the new database. You can batch it up pretty quickly though in powershell.

Share:
23

Related videos on Youtube

GAdj
Author by

GAdj

Updated on September 18, 2022

Comments

  • GAdj
    GAdj over 1 year

    When I move the console.log above the rootscope.on it prints it, but for some reason it is as if the rootscope.on is not being reached at all:

    'use strict';
    
    var app = angular.module('myApp', ["ui.router"]);
    
    app.config(function($stateProvider, $urlRouterProvider) {
    
      $urlRouterProvider.otherwise('/login');
    
      $stateProvider
        .state('app', {
          template: "<ui-view></ui-view>",
          abstract: true
        })
        .state('app.login', {
          url: '/login',
          controller: 'loginCtrl',
          templateUrl: 'content/auth/login.html',
          requireLogin: false,
          authorized: true
        })
    
        .state('app.register', {
          url: '/register',
          controller: 'registerCtrl',
          templateUrl: 'content/auth/register.html',
          requireLogin: true,
          authorized: true
        });
    });
    
    
    app.run(function($rootScope, $state) {
    
      $rootScope.$('$stateChangeStart', function(event, toState) {
    
        console.log("redirecting");
    
      })
    
    });
    
    • Rajshree Gupta
      Rajshree Gupta over 11 years
      Do you need to have the mailboxes online during the move?
    • Prashant Lakhlani
      Prashant Lakhlani over 11 years
      I can make it offline
    • kralyk
      kralyk over 11 years
      As HopelessNoob would point out, you don't specify size of mailbox databases, specs of the servers including disk throughput, link speed between them, etc. One person might say "straight copy of the dismounted databases across the LAN" not realizing there's only a T1 between them, so definitely not the "fastest". More details please including what you are trying to accomplish/what the need is.
    • HopelessN00b
      HopelessN00b over 11 years
      Copy them over your OC-3072, because that's the only way I know of to achieve 160 Gbit/second network throughput.
    • Exzlanttt
      Exzlanttt over 11 years
      I think what TheCleaner and HopelessN00b meant is; your question, as-is, is way too vague to give you a smart answer...although Nate did a darn good job at it. Right now, this is the same thing as going to the mechanic without your car and asking "what's the best set of tire?".
    • HopelessN00b
      HopelessN00b over 11 years
      If you mean you have multiple mailboxes, for a total of over 50 GB of mail, then you don't have much to worry about; that's pretty small as far as mail goes. If you mean you have multiple mailboxes that are each, individually larger than 50 GB, then I'd say you're in for some pain.
    • Pytth
      Pytth over 6 years
      You aren't calling $rootscope.$on?