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 to review this topic and select your SQL Server edition based on your requirements.

For more information on the differences of 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 2012
  • SQL Server 2014
  • SQL Server 2016
  • SQL Server 2017

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) edition only.

FeatureEnterpriseStandardExpress
Database mirroringYes

Yes

Full safety only

Witness only
Always On failover cluster instances

Yes

Number of nodes is the operating system 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 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.

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, the user needs the View Server State permission for the SQL server. This can be set at the SQL user settings, under the Securables.

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 has to granted for the user.

The permissions for the SQL user can be granted with the following script:

USE msdb
;
GO

IF NOT EXISTS (
    SELECT 1
    FROM [sys].[database_principals]
    WHERE [type] = N'S' AND [name] = N'verba_user'
) BEGIN
    CREATE USER [verba_user] FOR LOGIN [verba_user]
END
GO

GRANT SELECT ON sysjobs TO [verba_user]
GO

GRANT SELECT ON sysjobs_view TO [verba_user]
GO

GRANT EXECUTE ON OBJECT::dbo.sp_add_job TO [verba_user]
GO

GRANT EXECUTE ON OBJECT::dbo.sp_add_jobstep TO [verba_user]
GO

GRANT EXECUTE ON OBJECT::dbo.sp_update_job TO [verba_user]
GO

GRANT EXECUTE ON OBJECT::dbo.sp_add_jobschedule TO [verba_user]
GO

GRANT EXECUTE ON OBJECT::dbo.sp_add_jobserver TO [verba_user]
GO

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)

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, the collation has to be Case Insensitive (CI)
  • 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