Database high availability
Session Recording supports the following solutions for database high availability based on Microsoft SQL Server. The databases can automatically fail over when the hardware or software of a principal or primary SQL Server fails, which ensures that Session Recording continues to work as expected.
Always On Availability Groups
The Always On Availability Groups feature is a high availability and disaster-recovery solution that provides an enterprise-level alternative to database mirroring. Introduced in SQL Server 2012, Always On Availability Groups maximizes the availability of a set of user databases for an enterprise. Always On Availability Groups requires that the SQL Server instances reside on the Windows Server Failover Clustering (WSFC) nodes. For more information, see http://msdn.microsoft.com/en-us/library/hh510230.
SQL Server clustering
The Microsoft SQL clustering technology allows one server to automatically take over the tasks and responsibilities of the server that has failed. However, setting up this solution is complicated and the automatic failover is typically slower than alternatives such as SQL Server database mirroring. For more information, see https://msdn.microsoft.com/en-us/library/ms189134.aspx.
SQL Server database mirroring
Database mirroring ensures that an automatic failover occurs in seconds if the active database server fails. This solution is more expensive than the other two solutions because full SQL Server licenses are required on each database server. You cannot use the SQL Server Express edition in a mirrored environment. For more information, see https://msdn.microsoft.com/en-us/library/ms189852.aspx.
Methods for configuring Session Recording with database high availability
To configure Session Recording with database high availability, do either of the following:
- Install the Session Recording Server components first and then configure database high availability for the created databases.
You can install the Session Recording Administration components with databases configured to be installed on the prepared SQL Server instance. Then, configure database high availability for the created databases.
- For Always On Availability Groups and clustering, you must manually change the SQL Server instance name to the name of the availability group listener or SQL Server network in HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\SmAudDatabaseInstance.
- For database mirroring, you must manually add the failover partners for databases in HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\DatabaseFailoverPartner and HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\LoggingDatabaseFailoverPartner.
- Configure database high availability for empty databases first and then install the Session Recording Administration components.
You can create two empty databases as the Session Recording Database and the Administrator Logging Database in the expected primary SQL Server instance and configure high availability. Then enter the SQL Server instance name when installing the Session Recording Server components:
- To use the Always On Availability Groups solution, enter the name of your availability group listener.
- To use the database mirroring solution, enter the name of your principal SQL Server.
- To use the clustering solution, enter the network name of your SQL Server.