Database limits for the standard edition
In Application Event Log, you will see event 1216.
The Exchange store Mailbox Database 1776672374 is limited to 1024 GB. The current physical size of this database (the .edb file) is <1 GB. If the physical size of this database minus its logical free space exceeds the limit of 1024 GB, the database will be dismounted on a regular basis.
Use Registry Editor to Modify a Database Size Limit
Get-MailboxDatabase | ft name,GUID -AutoSize

REGEDIT
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-<database GUID>
If the Database Size Limit in GB DWORD exists for the subkey, change its value to the desired size in gigabytes.
If the Database Size Limit in GB DWORD doesn't exist for the subkey, create a new DWORD with that name, and then set its value to the desired size in gigabytes.

After restarting MSExchangeIS service, the application log of event viewer will report:
The Exchange store Mailbox Database 1776672374 is limited to 160 GB. The current physical size of this database (the .edb file) is <1 GB. If the physical size of this database minus its logical free space exceeds the limit of 160 GB, the database will be dismounted on a regular basis.
Default Database Path
We cannot update the DataPath property with Set-ExchangeServer cmdlet. To modify the default path, you have to use ADSIEDIT utility.
CN=Configuration, CN=Services, CN=Microsoft Exchange, CN= OrganizationName=Administrative Groups, CN= AdministrativeGroupName, CN=Servers, CN= ServerName
edit msExchDataPath attribute


New-MailboxDatabase -Name "Telus" -Server "Win2"
Get-MailboxDatabase -Identity "Telus" | fl *Path*
EdbFilePath : e:\HP\Telus\Telus.edb
LogFolderPath : e:\HP\Telus
TemporaryDataFolderPath :
Mount-Database "Telus"
Get-MailboxDatabase | Where {$_.OfflineAddressBook -eq $null} | Set-MailboxDatabase -OfflineAddressBook 'Default Offline Address Book'
It's better to put Logs in different drive.
move-DatabasePath -Identity 'Telus' -EdbFilePath 'e:\HP\Telus\Telus.edb' -LogFolderPath 'G:\Logs\Telus'
Tracking background maintenance
Get-EventLogLevel -Identity "MSExchangeIS\9000 Private\Background Cleanup" | fl Identity,EventLevel
Identity : MSExchangeIS\9000 Private\Background Cleanup
EventLevel : Lowest
set-EventLogLevel -Identity "MSExchangeIS\9000 Private\Background Cleanup" -Level "Expert"
set-EventLogLevel -Identity "MSExchangeIS\9000 Private\Background Cleanup" -Level "Lowest"
Corrupt Item Detection and Isolation
A bad message such as malformed header may cause the Information Store process to terminate abnormally when a client attempts to access a corrupt item.
Online Repair
Scan all of the mailboxes in a database to fix any corruptions:
New-MailboxRepairRequest -Database "Vanarts" -CorruptionType FolderView
CorruptionType includes:
SearchFolder
AggregateCounts
ProvisionedFolder
FolderView
To repair an individual mailbox:
New-MailboxRepairRequest -Mailbox "Albert" -CorruptionType FolderView
To repair a public folder database:
New-PublicFolderDatabaseRepairRequest -CorruptionType "ReplState" -Identity "3DPub"
In Application Log:
Event ID:10059 --a Database repair starts.
Event ID:10064--a public folder database repair starts.
Event ID:10048- -the repair completes successfully.
Event IT:10062--a corruption is found and fixed.
To terminate a repair job, you have to dismount the database.
You can only run a repair against only one database at a time.
Database Defragmentation
Exchange 2010 performs ongoing online defragmentation. The overall size of the database is not affected by online defragmentation as pages freed by the defragging process are recycled and made available to the STORE to hold new items.
Offline Defragmentation is used ESEUTIL /D. It will build a new copy of database by reading all of the pages out of the old database and writing them into the new one. That is why the offline defragmentation will take a long time.
Dismount-Database "vanarts"
eseutil /D "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\vanarts\vanarts.edb"
The best scenario to use offline defragmentation is for a university. When 10000 students are graduated and their mailboxes are deleted, offline defragmentation will shrink the database size dramatically.
-Status parameter
By default, get-MailboxDatabase cmdlet retrieves static data from Active Directory. To force EMS to call teh STORE for current data, the -status parameter must be specified.

Get-StoreUsageStatistics
It reports amount of server time executed for STORE operations over the last 10 minutes using performance data sampled every second.
Get-StoreUsageStatistics -database "mailbox database"

Get-StoreUsageStatistics -Server win2
Get-StoreUsageStatistics -Identity 'Albert'
Log files
An inconsistent database: some outstanding transactions that the store has not yet committed. If the STORE detects that a database is inconsistent, it attempts to rea the outstanding transactions from the transaction logs to replay the transactions into the database. This operation is referred to SOFT RECOVERY.
Consistent
When you dismount a specific database by DISMOUNT-DATABASE cmdlet, the STORE will commit any outstanding transactions before it shuts the database down.
How a transaction file ties to a database?
Dismount-Database "Vanarts"
eseutil /m "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\vanarts\vanarts.edb"
......
......
.....
Log Signature: Create time:01/19/2011 15:56:52 Rand:104659089 Computer:
eseutil /ml "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\vanarts\E0100000148.log"
......
......
Signature: Create time:01/19/2011 15:56:52 Rand:104659089 Computer:
Env SystemPath: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\vanarts\
Env LogFilePath: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\vanarts\
CheckPoint file
The STORE updates the checkpoint file every 30 seconds when it flushes dirty pages into the database. Exchange 2010 maintains a set of transaction logs per database, each database has its own checkpoint file. When a database is mounted, Exchange reads the checkpoint file to determine whether there are any outstanding transaction logs that should be rpocessed to bring the database completely up to date. If the checkpoint file is lost, Exchange will examine all available transaction logs to determine whether any transactions exist in the logs that have not been committed into the database. If some transaction logs are unavailable due to storage failure, you have to run ESEUTIL /P to make the database consistent and mount it. In this case, data loss might incur.