SQL Server requirements
SQL Server editions
The system uses a standard Microsoft SQL Server database to store the system configuration parameters for each server and the conversation metadata (CDR) for each conversation.
We recommend reviewing this topic and selecting your SQL Server edition based on your requirements.
For more information on the differences between the SQL Server editions, see https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017
Supported SQL Server versions:
- SQL Server 2014
- SQL Server 2016
- SQL Server 2017
- SQL Server 2019
- Azure SQL Database
- Azure SQL Managed Instance
Scalability
Conversations stored in the system at any moment | Recommended SQL Server edition |
---|---|
less than 1.000.000 conversations and instant messages | Express Edition |
more than 1.000.000 conversations and instant messages | Standard or Enterprise Edition In very large deployments, partitioning has to be enabled, which is only available in Enterprise Editions or Standard Edition of SQL Server 2016 SP1 or later For more information, see Database table partitioning |
If you have configured Data management policies in your system that automatically remove calls, you can plan for the maximum amount of calls that you store in the system at any moment, and not the total amount of conversations you have recorded.
Resiliency
Different SQL Server editions, support different resiliency features. Choose the editions, which is most suitable for the resiliency requirements of the deployment. For highly available deployments, we recommend using Always On availability groups which are available in Enterprise and Standard (basic version) editions only.
Feature | Enterprise | Standard | Express |
---|---|---|---|
Database mirroring | Yes | Yes Full safety only | Witness only |
Always On failover cluster instances | Yes The number of nodes is the operating system's maximum | Yes Support for 2 nodes | No |
Always On availability groups | Yes Up to 8 secondary replicas, including 2 synchronous secondary replicas | Yes, basic only Requires SQL Server 2016 or later | No |
Database memory and storage requirements
You can download the Excel Verba Storage Calculator Sheet to estimate your storage and database sizing requirements.
If the database is running on a Verba server, then please make sure that it is not allocating too much memory for itself, decreasing the performance of other components on the machine.
It is strongly recommended that you leave at least half of the RAM free for use by other Verba components.
For instructions on how to do this, please refer to https://msdn.microsoft.com/en-us/library/ms178067.aspx
SQL Server authentication and permissions
The system supports both SQL Server Authentication and Windows Authentication for SQL Server connections. Using Windows Authentication, the system relies on the Windows service logon credentials for authentication with the SQL Server. The Verba system requires the following SQL Server roles configured for the Windows service user account:
SQL Server role | Description |
---|---|
dbcreator | It is a database server level role and is required only during the installation to create the verba database. |
db_owner | It is a verba database level role and required for the system for normal operation. |
sysadmin | Either sysadmin or the permissions described in the Additional permissions for SQL Server Standard or Enterprise Edition section is required to install the SQL Server Agent Job |
For more information on SQL Server server and database level roles, see https://msdn.microsoft.com/en-us/library/ms188659.aspx and https://msdn.microsoft.com/en-us/library/ms189121.aspx.
For general information on SQL Server principals, see https://msdn.microsoft.com/en-us/library/ms181127.aspx
Additional permissions for SQL Server Standard or Enterprise Edition
When SQL Server Standard or Enterprise Edition is being used (usually in the case of larger systems), the Verba installer also tries to install a SQL Server Agent job. For this, several additional user permissions are required.
First of all, in order to check if the SQL Server Agent service is running on the SQL server and for storing historical index usage for optimal maintenance, the user needs the View Server State permission for the SQL server.
To query the maintenance jobs, the SELECT permission on the msdb.dbo.sysjobs and msdb.dbo.sysjobs_view has to be granted to the user.
For the job installation itself, the EXECUTE permission for the msdb.dbo.sp_add_job, msdb.dbo.sp_add_jobstep, msdb.dbo.sp_update_job, msdb.dbo.sp_add_jobschedule, and the msdb.dbo.sp_add_jobserver stored procedures have to be granted for the user.
The permissions for the SQL user can be granted with the following script. Please run the script as-is, only modify the two parameters (@login and @db_name) at the top:
SQL-Server-requirements-Additional-Permissions.sql
SQL Server services
For the Verba system, the following SQL Server services must be enabled and running (other services are not required):
- SQL Server
- SQL Server Browser if named instances are used
- SQL Server Agent to run the maintenance jobs (not available on Express Edition and Azure SQL Database)
Language, collation, and case sensitivity
The user account, configured in Verba to access the database (SQL Server user or domain user) must have the Default Language configured to English. For more information on creating a login and configuring the default language, see https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-login
The system supports any collation with the following requirements:
- The system does not support Case Sensitive (CS) databases, nor servers, the collation has to be Case Insensitive (CI) and the Server has to be Case Insensitive (CI) too.
- Other collation configuration options can be specified according to the specific requirements
For more information on collation, see https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support
Azure SQL Requirements and Limitations
Azure SQL Database | Azure SQL Managed Instance | |
---|---|---|
Authentication | Only SQL Server authentication is supported | Only SQL Server authentication is supported |
SQL Agent Job | Not supported, jobs will be executed by the web application | Supported |
Linked Server | Not supported | Supported |
Max database size | https://learn.microsoft.com/en-us/azure/azure-sql/database/resource-limits-vcore-single-databases?view=azuresql | Up to currently available instance storage size (depending on the number of vCores). https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits?view=azuresql |
Max tempdb size | https://learn.microsoft.com/en-us/azure/azure-sql/database/resource-limits-vcore-single-databases?view=azuresql | General Purpose: Limited to 24 GB/vCore Business Critical: Up to currently available instance storage size https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits?view=azuresql |