$server = "dwhtest-new" $srv = New-Object Microsoft.SqlServer.Management.Smo.Server $server $db = New-Object Microsoft.SqlServer.Management.Smo.Database $dbs = $srv.Databases foreach ($db1 in $dbs) { $db = New-Object Microsoft.SqlServer.Management.Smo.Database $db = $db1 $DatabaseName = $db.Name Write-Host $DatabaseName Write-Host "MirroringStatus:" $db.MirroringStatus Write-Host "DBState:" $db.Status Write-Host }If your DB's mirroring is still intact you will recieve 'Synchronized' for MirroringStatus and its its the Primary it will say "Normal" for the status and if its the failover it will say "Restoring". Unfortunately there is no way, that im aware of, to just pull out the status of "Mirror" or "principle". You will jsut have to build logic to check both fo those values. Restoring
Friday, April 20, 2012
Powershell Detecting DB state(Mirroring, Primary,Failover)
This script pulls back the status of your DBs on a selected server. Its just a base script; modify as needed.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment