private List<DatabasePropertiesAnalysis> AnalyzeDatabaseProperties()
{
DatabasePropertiesResults = new List<DatabasePropertiesAnalysis>();
var databaeProperties = _provider.GetResults<DatabaseProperties>(Queries.DatabaseProperties);
if (databaeProperties != null)
{
foreach (var databaseProperty in databaeProperties)
{
bool isAutoshrink;
bool.TryParse(databaseProperty.AutoShrink, out isAutoshrink);
bool isAutoClose;
bool.TryParse(databaseProperty.AutoClose, out isAutoClose);
bool failsValidation = isAutoshrink || isAutoClose || string.Compare(databaseProperty.RecoveryModel, "simple", StringComparison.OrdinalIgnoreCase) == 0;
DatabasePropertiesResults.Add(new DatabasePropertiesAnalysis
{
AutoClose = isAutoClose,
AutoShrink = isAutoshrink,
CompatabilityLevel = databaseProperty.CompatabilityLevel,
DatabaseName = databaseProperty.DatabaseName,
RecoveryModel = databaseProperty.RecoveryModel,
IsPropertySetCompliant = !failsValidation
});
}
}
return DatabasePropertiesResults;
}