Monday 8 July 2013

SharePoint 2013 SQL Server Always On

We will go through the process of using always on Availability group with a Content Farm 1 which is on SharePoint 2013, all components on Windows 2012

Environments
Server
Role
Operating System
SQL01
Primary Replica SQL Server 2012
Windows 2012 Standard
SQL02
Secondary Replica SQLServer 2012
Windows 2012 Standard
ContentFarmB
SharePoint 2013 Enterprise Edition
Windows 2012 Standard
ContosoDC
AD Domain Controller
Windows 2012 Standard
SQLAAG01
Always on Availability Group 1


I have used a script to install SharePoint 2013 and have mentioned a SQL Alias called ContentFarm1 pointing to Always on Availability Group 1 named SQLAAG01

If installing using the vanilla interface you can create a SQL Alias and point it to Always on Availability Group 1 or you can also use Always on Availability Group name

I have already configured Always on Availability group named SQLAAG01 consisting of two replica’s primary SQL01 and secondary SQL02

After you have installed SharePoint server and run the configuration wizard, all databases i.e. the configuration, admin and content databases are created on Primary replica.

You will have to manually add the databases into Always on Availability Group. Here are the steps to follow

The scripted install created two databases i.e. 


  • ContentFarm1_Config
  • ContentFarm1_Admin

We don't have it yet in the Always on Group.


First take a backup of the two databases as its a prerequisite to have the backup in the tail log


 Expand the AAG Group, Right Click on Availability Database, Click on Add Database


Click on Next 


Select the Database , Click Next



Specify  Data Synchronization location, I have already configured a shared network location called Backup 


Connect to the Secondary Replica , click on Connect


This does an availability group validation , Click Next



Click Next




Now I have got the databases synchronized 


Expand the Availability Database to check if the Databases have been added 


There we have it. Ideally I would script this when doing it in Production environment. This is just for the capturing this in the demo.