Determine Exchange Mailbox Database Backup Status

Here’s a useful PowerShell command to display the backup status of your mailbox databases. Just open the Exchange Management Shell and run the following command:

Get-MailboxDatabase -Status | fl Identity, LastFullBackup, LastIncrementalBackup, LastDifferentialBackup, BackupInProgress

This will generate a report such as the following:

Identity               : System-EXCHSRV1
LastFullBackup         : 5/17/2012 7:00:50 PM
LastIncrementalBackup  :
LastDifferentialBackup :
BackupInProgress       : False

Identity               : MDB03
LastFullBackup         : 5/16/2012 2:59:56 PM
LastIncrementalBackup  :
LastDifferentialBackup : 5/18/2012 10:30:49 AM
BackupInProgress       : False

Identity               : MDB04
LastFullBackup         : 5/17/2012 6:35:16 AM
LastIncrementalBackup  :
LastDifferentialBackup : 5/18/2012 11:31:04 AM
BackupInProgress       : False

Identity               : System-EXCHSRV2
LastFullBackup         : 5/17/2012 7:03:13 PM
LastIncrementalBackup  :
LastDifferentialBackup :
BackupInProgress       : False

Identity               : MDB01
LastFullBackup         : 5/17/2012 6:35:22 AM
LastIncrementalBackup  :
LastDifferentialBackup : 5/18/2012 12:36:38 PM
BackupInProgress       : False

Identity               : MDB02
LastFullBackup         : 5/17/2012 6:35:07 AM
LastIncrementalBackup  :
LastDifferentialBackup : 5/18/2012 1:31:08 PM
BackupInProgress       : False

Optimizing SQL Transaction Log Throughput

Here are a few links to some great references on optimizing SQL transaction log throughput. In particular, these articles discuss key tips regarding the sizing of transaction logs and the impact too many or too few virtual log files (VLFs) can have on overall performance:

8 Steps to better Transaction Log throughput
Transaction Log VLFs – too many or too few?
Bug: log file growth broken for multiples of 4GB
How to determine SQL Server database transaction log usage
Geek City: Exploring the Transaction Log Structure
Understanding Logging and Recovery in SQL Server

Monitoring NearPoint Index Movement using SQL

Here’s a quick SQL query to show the status of currently active mailbox index movement tasks:

select * from TaskStatus
where TaskName = 'IndexMove'
AND ProcessedCount = 0
AND FailedCount = 0

Note that the ProcessedCount will equal 0 for all currently active jobs and previously failed jobs. To list failed mailbox index relocation attempts, set the FailedCount = 1, e.g.,

select * from TaskStatus
where TaskName = 'IndexMove'
AND ProcessedCount = 0
AND FailedCount = 1