public static AvailabilityGroup GetAG(string agName, Smo.Server server) { server.Refresh(); server.AvailabilityGroups.Refresh(); AvailabilityGroup ag = server.AvailabilityGroups[agName]; ag.Refresh(); return(ag); }
/// <summary> /// Adds a given replica to an Availability Group. /// </summary> /// <param name="agName"></param> /// <param name="replicaName"></param> /// <param name="server"></param> public static void AddReplicaToAG(string agName, string replicaName, Smo.Server server) { AvailabilityGroup ag = server.AvailabilityGroups[agName]; AvailabilityReplica replica = new AvailabilityReplica(ag, replicaName); ag.AvailabilityReplicas.Add(replica); ag.Refresh(); ag.AvailabilityReplicas.Refresh(); }
/// <summary> /// Checks whether the given replica is primary replica on an Availability group or not. /// </summary> /// <param name="arName">Replica name that needs to be checked</param> /// <param name="agName">Availability Group name</param> /// <param name="server">SMO Server on which being checked.</param> /// <returns>True if the given replica is primary, otherwise false.</returns> public static bool IsPrimaryReplica(string arName, string agName, SMO.Server server) { server.Refresh(); server.AvailabilityGroups.Refresh(); AvailabilityGroup ag = server.AvailabilityGroups[agName]; ag.Refresh(); return(ag.PrimaryReplicaServerName.Equals(arName)); }
public static SMO.AvailabilityReplica GetPrimaryReplica(string agName, SMO.Server server) { AvailabilityGroup ag = server.AvailabilityGroups[agName]; ag.Refresh(); foreach (SMO.AvailabilityReplica replica in ag.AvailabilityReplicas) { if (replica.Role == AvailabilityReplicaRole.Primary) { return(replica); } } return(null); }
public static List <SMO.AvailabilityReplica> GetSecondaryReplicas(string agName, SMO.Server server) { List <SMO.AvailabilityReplica> secondaryReplicaList = new List <AvailabilityReplica>(); AvailabilityGroup ag = server.AvailabilityGroups[agName]; ag.Refresh(); foreach (SMO.AvailabilityReplica replica in ag.AvailabilityReplicas) { if (replica.Role != AvailabilityReplicaRole.Primary) { secondaryReplicaList.Add(replica); } } return(secondaryReplicaList); }