Configure database high availability
Session Recording does not function as expected if the Session Recording database is stopped or in a state of failure. If the Session Recording Administrator Logging database is stopped or experiencing failure, the administrator logging feature becomes unavailable and this prevents you from being able to modify policies or change server properties when mandatory blocking is enabled. Therefore, it is advisable to implement a high availability (HA) mode for the databases.
Session Recording supports the following solutions for database high availability based on the Microsoft SQL Server. Databases can automatically fail over when the hardware or software of a principal or primary SQL Server fails.
-
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. It maximizes the availability of a set of user databases for an enterprise. It requires that the SQL Server instances reside on the Windows Server Failover Clustering (WSFC) nodes. For more information, see Always On availability groups: a high-availability and disaster-recovery solution.
-
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 Always On Failover Cluster Instances (SQL Server).
-
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 Database Mirroring (SQL Server).
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, change the SQL Server instance name to the name of the availability group listener or SQL Server network through
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\SmAudDatabaseInstance
. - For database mirroring, add the failover partners for databases through
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\DatabaseFailoverPartner
andHKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server\LoggingDatabaseFailoverPartner
.
- For Always On availability groups and clustering, change the SQL Server instance name to the name of the availability group listener or SQL Server network through
- 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.