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 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) edition only.
Feature | Enterprise | Standard | Express |
---|---|---|---|
Database mirroring | Yes | 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 role | Description |
---|---|
dbcreator | It is a database server level role and 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.
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