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
  • SQL Server 2022
  • Azure SQL Database
  • Azure SQL Managed Instance

Scalability

Conversations stored in the system at any momentRecommended SQL Server edition
less than 1.000.000 conversations and instant messagesExpress 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.

FeatureEnterpriseStandardExpress
Database mirroringYes

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 roleDescription

dbcreator

It is a database server level role and is required only during the installation to create the verba database.
If you would like to avoid granting this database server level role to the user, you can create the verba database first and then proceed with the installation.

db_owner

It is a verba database level role and required for the system for normal operation.

sysadminEither 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_jobstepmsdb.dbo.sp_update_jobmsdb.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, case sensitivity, and other settings

  • 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

  • The Recursive Triggers Enabled configuration must be False


Azure SQL Requirements and Limitations


Azure SQL DatabaseAzure SQL Managed Instance
AuthenticationOnly SQL Server authentication is supportedOnly SQL Server authentication is supported
SQL Agent JobNot supported, jobs will be executed by the web applicationSupported
Linked ServerNot supportedSupported
Max database sizehttps://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 sizehttps://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