/// <summary> /// Verify availability database states match expected values. /// </summary> public static void VerifyDatabaseStates(SMO.Server server, string agName, string dbName, bool expJoinedState, bool expSuspendedState, AvailabilityDatabaseSynchronizationState expSyncState) { bool currState; currState = AGDBHelper.GetDbJoinedState(agName, dbName, server); currState = AGDBHelper.GetDbSuspendedState(agName, dbName, server); AvailabilityDatabase db = AGDBHelper.GetDb(agName, dbName, server); db.Refresh(); AvailabilityDatabaseSynchronizationState currSyncState = db.SynchronizationState; }
/// <summary> /// Wait for database synchronization state to reach target state. /// </summary> public static void WaitForDatabaseSynchronizationStateToGetUpdated(SMO.Server host, string agName, string dbName, AvailabilityDatabaseSynchronizationState expectedState, int timeout) { for (int i = 0; i < timeout; i += 1000) { host.AvailabilityGroups[agName].AvailabilityDatabases[dbName].Refresh(); if (host.AvailabilityGroups[agName].AvailabilityDatabases[dbName].SynchronizationState == expectedState) { return; } System.Threading.Thread.Sleep(1000); } }