mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 18:47:57 -05:00
Add unknown status for DB Nodes whose status is not known (#524)
This commit is contained in:
committed by
Karl Burtram
parent
caf196ea31
commit
3d7b87eca2
@@ -25,43 +25,52 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
|||||||
Database db = context as Database;
|
Database db = context as Database;
|
||||||
if (db != null)
|
if (db != null)
|
||||||
{
|
{
|
||||||
if ((db.Status & DatabaseStatus.Offline) == DatabaseStatus.Offline)
|
DatabaseStatus status;
|
||||||
|
try {
|
||||||
|
status = db.Status;
|
||||||
|
}
|
||||||
|
catch (SqlServer.Management.Common.ConnectionFailureException)
|
||||||
|
{
|
||||||
|
// We get into this situation with DW Nodes which are paused.
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
if ((status & DatabaseStatus.Offline) == DatabaseStatus.Offline)
|
||||||
{
|
{
|
||||||
return "Offline";
|
return "Offline";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Recovering) == DatabaseStatus.Recovering)
|
else if ((status & DatabaseStatus.Recovering) == DatabaseStatus.Recovering)
|
||||||
{
|
{
|
||||||
return "Recovering";
|
return "Recovering";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.RecoveryPending) == DatabaseStatus.RecoveryPending)
|
else if ((status & DatabaseStatus.RecoveryPending) == DatabaseStatus.RecoveryPending)
|
||||||
{
|
{
|
||||||
return "Recovery Pending";
|
return "Recovery Pending";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Restoring) == DatabaseStatus.Restoring)
|
else if ((status & DatabaseStatus.Restoring) == DatabaseStatus.Restoring)
|
||||||
{
|
{
|
||||||
return "Restoring";
|
return "Restoring";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.EmergencyMode) == DatabaseStatus.EmergencyMode)
|
else if ((status & DatabaseStatus.EmergencyMode) == DatabaseStatus.EmergencyMode)
|
||||||
{
|
{
|
||||||
return "Emergency Mode";
|
return "Emergency Mode";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Inaccessible) == DatabaseStatus.Inaccessible)
|
else if ((status & DatabaseStatus.Inaccessible) == DatabaseStatus.Inaccessible)
|
||||||
{
|
{
|
||||||
return "Inaccessible";
|
return "Inaccessible";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Shutdown) == DatabaseStatus.Shutdown)
|
else if ((status & DatabaseStatus.Shutdown) == DatabaseStatus.Shutdown)
|
||||||
{
|
{
|
||||||
return "Shutdown";
|
return "Shutdown";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Standby) == DatabaseStatus.Standby)
|
else if ((status & DatabaseStatus.Standby) == DatabaseStatus.Standby)
|
||||||
{
|
{
|
||||||
return "Standby";
|
return "Standby";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.Suspect) == DatabaseStatus.Suspect)
|
else if ((status & DatabaseStatus.Suspect) == DatabaseStatus.Suspect)
|
||||||
{
|
{
|
||||||
return "Suspect";
|
return "Suspect";
|
||||||
}
|
}
|
||||||
else if ((db.Status & DatabaseStatus.AutoClosed) == DatabaseStatus.AutoClosed)
|
else if ((status & DatabaseStatus.AutoClosed) == DatabaseStatus.AutoClosed)
|
||||||
{
|
{
|
||||||
return "Auto Closed";
|
return "Auto Closed";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user