Getting Started

Accessing the ServiceControl database

ServiceControl Error and Audit instances store data in a RavenDB database. Some advanced operations require accessing that database directly.

How the database is deployed depends on the version of ServiceControl, the version of RavenDB used by that version, and whether ServiceControl is deployed on Windows or on containerized infrastructure.

Windows deployment

Windows deployments differ based on what version of RavenDB is used to persist ServiceControl data.

RavenDB 5

RavenDB 5 is used as the data storage for all ServiceControl version 5.x and higher, and was available as an option for ServiceControl Audit instances of version 4.26.0 and above.

When logged on to the server where ServiceControl is installed, the database is always available, as it is implemented as a separate process.

Access the database at:

The database can be accessed without stopping or restarting the ServiceControl instance, though maintenance mode can still be used for some operations.

RavenDB 3.5

RavenDB 3.5 is used on all ServiceControl 4.x instances except for ServiceControl Audit instances initially created using version 4.26.0 or later.

In these versions, ServiceControl serves the database in-process and only exposes the database if maintenance mode is enabled.

Maintenance mode

When running in Maintenance Mode, a Windows ServiceControl instance will only run the database. The API will not be available, and messages will not be ingested from any queues. This is useful to be able to inspect and perform administrative functions on the database without any modifications from the application being possible.

To enable maintenance mode:

  1. Launch ServiceControl Management.
  2. Click the wrench 🔧 icon to open Advanced Options.
  3. Click Start Maintenance Mode.
  4. Click the Launch RavenDB Studio link to access the RavenDB interface.
  5. Click Stop Maintenance Mode to resume normal operation.

Running in Maintenance Mode

Container deployment

When deployed using containers, the database runs in a separate container than the ServiceControl instance. The database can be accessed at any time on port 8080 of the database container.

The container equivalent of maintenance mode can be achieved by stopping the ServiceControl container while leaving the database container running.