Exemplo n.º 1
0
        /// <summary>
        /// Configure an Availability group. This performs the following steps
        /// <list type="number">
        /// <item>Join the secondary replica to the AG.</item>
        /// <item>Backup the databases from primary replica and restores it in secondary.</item>
        /// <item>Joins the database to primary.</item>
        /// </list>
        /// </summary>
        /// <param name="agName"></param>
        /// <param name="primaryReplica"></param>
        /// <param name="secondaryReplica"></param>
        /// <param name="databases"></param>
        /// <param name="fileShare"></param>
        public static void ConfigureAG(string agName, Smo.Server primaryReplica, Smo.Server secondaryReplica, IEnumerable <Database> databases, string fileShare)
        {
            ARHelper.JoinAG(agName, secondaryReplica);

            foreach (Database db in databases)
            {
                AGDBHelper.BackUpAndRestoreDatabase(fileShare, primaryReplica, secondaryReplica, db.Name);
            }

            foreach (Database db in databases)
            {
                AGDBHelper.JoinAG(db.Name, agName, secondaryReplica);
            }
        }