It shouldn't be a surprise that Microsoft Dynamics CRM is a very popular CRM application across many customers, both large and small. A critical workload application such as CRM must have a good backup strategy. A Microsoft Dynamics CRM deployment can vary from customer to customer, but all implementations will include these three servers:
- Microsoft Active Directory (AD)
- Microsoft SQL Server
- Microsoft Dynamics CRM Server 2016
Each of these servers plays a vital role in the CRM infrastructure. And in the whole CRM environment, each server is critical.
The good news is that you can protect your CRM infrastructure using Veeam backup, and setting up Veeam replication is an easy process. It is also very easy to deploy. When it comes time to recover, Veeam can offer several options, depending on the SLA in place.
But before we get into discussing the protection of the CRM infrastructure using Veeam Backup & Replication, let's first discuss the role of each server and understand the available backup and recovery options for each server role.
The AD server role is very important to your entire infrastructure, and this includes your Microsoft Dynamics CRM infrastructure. Protecting your AD must be a priority on any business disaster recovery planning, starting from protecting against entire AD disaster and object disaster. One of the many ways to protect your AD, or minimize the fallout from an AD disaster, is to deploy multiple AD servers and then distribute the Flexible Single Master Operation (FSMO) roles between the new deployed servers. When it comes to recovering an AD object deletion, there is no easy or straightforward way. Using Veeam Explorer for Microsoft Active Directory is one way to recover deleted objects such as users, groups, organizational units, group policy objects and more.
For this discussion, we will back up the full state of the server using both full and incremental backups.
Microsoft SQL Server 2014
The MS SQL Server 2014 is the heart of your CRM infrastructure. Your customer details, sales and related business data are stored on this server. Following the deployment of your Microsoft Dynamics CRM server, you will notice that several databases were added to the MS SQL Server, along with the default SQL databases. These are critical databases and must be protected against disasters.
To protect these important databases, the following points are good policy:
- The OrganizationName_MSCRM and ReportServer databases should have full database and transaction log backups
- For databases that are rarely updated, such as msdb, you may select only a full database backup
- Backups of the master and msdb databases are not required by Microsoft Dynamics CRM, but should be part of an overall backup strategy
We are going to back up the SQL Server and we will enable the SQL log transactions to back up every 10 minutes.
Microsoft Dynamics CRM Server 2016
The CRM server is the interface server where you and your employees will connect to retrieve and manage your customers’ relationship data.
To protect the CRM server, you must back up the web.config file and the Windows registry key for MSCRM. The web.config file is at:
- Default location: C:\Program Files\Microsoft Dynamics CRM\CRMWeb
The Windows registry key is at:
Our strategy for this CRM server is going to be full and incremental backups.
Backup strategy overview
The figure below shows the setup we are going to use for our backup strategy:
As usual, our backup configuration will start on the Veeam Backup & Replication console and a new backup job.
Select the Microsoft Dynamics CRM servers:
Choose the proxy server if you wish to specify one. Next, choose the backup repository and the desired number of restore points to keep on disk. In the example below, we have Automatic selection as our backup proxy and we have chosen 14 restore points to keep on disk:
On the Advanced selection, choose the desired backup mode. By default, the Incremental (recommended) backup mode is selected:
With this backup mode, Veeam Backup & Replication will make an initial full backup as the first job and then back up only the changes. On the specified day, Veeam will synthesize a full backup from the data already on the backup repository.
Confirm and save the changes by pressing the OK button and then press Next.
At this guest processing stage, tick the checkbox for Enable application-aware processing and then press Applications:
On the application process option window, select the SQL Server and then press the Edit button to configure the application-aware processing steps:
The next step is to configure the SQL backup logs to run every 10 minutes. You can see these settings in the figure below:
It is also a good idea to test the configuration to check that there are no authentication errors popping up and stopping the backup job.
The last step before saving and running our job is to schedule the backup job to run automatically. In this example, you can see our backups are set to run daily at 8 p.m., and the job is set to run automatically:
Now that we are set up, the Microsoft Dynamics CRM environment is protected by Veeam backups. The simple backup configuration we just set up will enable us to recover from any data loss disaster.
Should a disaster occur and we need a recovery action, our backup strategy will allow us to recover any, or all, of the servers using one of the following recovery methods:
- Instant VM Recovery
- Disk recovery
- Application item recovery (AD objects, SQL database/log)
- An individual file recovery
Where to go from here
For critical workload servers, I like to add an extra level of protection to my backup strategy. In my Microsoft Dynamics CRM environment, as I pointed out earlier, I identified the SQL Server as the critical server. Because it is critical, I decided to replicate the server to a different data center and to keep it in a standby state ready for failover in case I lose my production SQL Server. To set up this strategy with Veeam, all I need to do is create a Veeam replication job.
Starting with Replication Job creation:
Name the replication job:
Choose the SQL Server hosting the CRM database:
Specify the destination of the replication job. Note the different host in this example:
On the job setting, we will specify the repository where the replica metadata will be saved, replica suffix and the number of the restore points to keep:
In the data transfer popup window, you will be able to specify the source and target proxy servers. If a Veeam WAN accelerator is deployed and configured, then you will be able to specify the source and destination Veeam WAN accelerators:
The last step before scheduling the job is the Guest Processing, where you will be able to enable application-aware processing for application-aware (SQL) replication. Please note that with replication, SQL transaction logs will be replicated on a copy mode only:
Schedule the replication job:
Review the summary and to finish the job creation, press Finish.
If you wish, you can tick the checkbox to Run the job when I click Finish to start the replication job immediately after you press the Finish button:
On this blog, we went through the Microsoft CRM backup process using the Veeam Backup & Replication product. The bottom line is that with Veeam and its flexible ways of restoring data, it is much easier to protect your critical applications. In the event of a disaster, you have multiple ways to recover your data, thus ensuring that your mission-critical work is always available.