diff --git a/Packages.props b/Packages.props index 85b136a8..38a98fab 100644 --- a/Packages.props +++ b/Packages.props @@ -18,7 +18,7 @@ - + @@ -44,12 +44,12 @@ - + - + diff --git a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/DatabaseTreeNode.cs b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/DatabaseTreeNode.cs index 60530729..3c98ca9e 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/DatabaseTreeNode.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/SmoModel/DatabaseTreeNode.cs @@ -28,6 +28,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel // We detect that here and fall back to master if (db.State == SqlSmoState.Creating && !IsDWGen3(db)) { + Logger.Information($"Database {databaseName} is in Creating state after initialization, defaulting to master for Object Explorer connections. This is expected when connecting to an Availability Group readable secondary"); db = new Database(serverNode.GetContextAs().Server, "master"); db.Refresh(); } @@ -35,7 +36,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel } /// - /// Initializes the context and sets its ValidFor property + /// Initializes the context and sets its ValidFor property /// protected override void EnsureContextInitialized() { @@ -78,7 +79,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel { // IsAccessible is not set of DW Gen3 so exception is expected in this case if (IsDWGen3(context?.Database)) - { + { return true; } else @@ -89,14 +90,14 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel ErrorMessage = ex.Message; return false; } - + } } private bool IsDWGen3(Database db) { - return db != null - && db.DatabaseEngineEdition == DatabaseEngineEdition.SqlDataWarehouse + return db != null + && db.DatabaseEngineEdition == DatabaseEngineEdition.SqlDataWarehouse && db.ServerVersion.Major == 12; } }