Get DAG Database Distribution Function

PowerShell is great for repeatable administration shortcuts. I had created a script to a while ago that provided the mounted database distribution on each Database Availability Group server as part of a larger routine status reporting script. I found that this particular task of know the database distribution during the business day was helpful so I converted it to a function and included into my PowerShell profile. That way I could just run the Get-DagDbCount function without hunting around my various scripts directories trying find it and run it in script form.

It is really quite simple and makes use of an empty array populated with custom PSObjects with just server name and the number of mounted databases on it. Comments in the script should make everything clear on what is happening.

# Initialize function name.
Function Get-DagDbCount {
	# Return the status of all mailbox database copies.
	$DAGDbs = Get-MailboxDatabaseCopyStatus *
	# Return the DAG in the organization
	$Dag = Get-DatabaseAvailabilityGroup
	# Create empty array to hold DAG data.
	$DagTable = @()
	# Pipe the DAG members to a foreach-object loop to count mounted Dbs for each server. Then add
	#  results to array.
	$Dag.servers | foreach {
		$DagServerName = $_.Name
		$DagObject = New-Object PSObject
		$DagObject | Add-Member -type NoteProperty -Name "Server" -Value $DagServerName
		$DagObject | Add-Member -type NoteProperty -Name "MountedDbCount" `
		-Value (($DAGDbs | where {$_.mailboxserver -eq $DagServerName -and $_.status -eq "mounted"}) | measure).count
		$DagTable += $DagObject
	# Show results to screen.


Exchange DAG tuning

Deploying an Exchange DAG is the cornerstone of a highly available and site resilient messaging infrastructure. If you are reading this you should well know that an Exchange DAG is a group of no more than 16 mailbox servers that can exist in different subnets as well as different geographic regions.

In some environments there will likely be underlying network issues that are beyond your control as an application owner. Network issues such as latency and micro connectivity outages between data centers can prove to be an Exchange Administrators greatest headache. The results can result in unexpected failovers wreaking havoc on your SLA.

Read moreExchange DAG tuning