Example #1
0
        public static bool GetDbJoinedState(string agName, string dbName, SMO.Server server)
        {
            AvailabilityDatabase db = GetDb(agName, dbName, server);

            db.Refresh();     // database state is server side property, so the SMO object needs to be refreshed to get the correct value.
            return(db.IsJoined);
        }
Example #2
0
        private static bool IsDbSuspendedStateReached(Object[] input)
        {
            AvailabilityDatabase db = input[0] as AvailabilityDatabase;
            bool isSuspended        = (bool)input[1];

            db.Refresh();
            return(db.IsSuspended == isSuspended);
        }
Example #3
0
        /// <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;
        }
Example #4
0
        /// <summary>
        /// Sets database in required state.
        /// </summary>
        /// <param name="agName"></param>
        /// <param name="dbName"></param>
        /// <param name="suspend"></param>
        /// <param name="server"></param>
        private static void SetDbState(string agName, string dbName, bool suspend, SMO.Server server)
        {
            AvailabilityGroup    ag = server.AvailabilityGroups[agName];
            AvailabilityDatabase db = ag.AvailabilityDatabases[dbName];

            db.Refresh();     // database state is server side property, so the SMO object needs to be refreshed to get the correct value.

            if (suspend)
            {
                db.SuspendDataMovement();
            }
            else
            {
                db.ResumeDataMovement();
            }
        }