Database Management
SmarterTrack ships with SQLite as its default database, which is a solid choice for most smaller installations. It requires no separate database server, no credentials to manage, and no additional licensing costs. For larger or more demanding deployments, however, SmarterTrack also supports Microsoft SQL Server, MySQL, and PostgreSQL — server-grade databases that offer better performance under heavy load, more robust backup and high-availability options, and deeper integration with existing infrastructure.
The Database Management page is where administrators view the current database configuration and, when the time comes, migrate the database to a different engine. To access it, log in with a system administrator account, click the Settings icon, and then click Database Management in the navigation pane.
Database Info
The Database Info tab displays a read-only summary of the current database configuration. The following fields are shown:
- Database Name - The name of the database SmarterTrack is connected to. This field is only populated when using Microsoft SQL Server, MySQL, or PostgreSQL. SQLite does not use a named database in the traditional sense, so this field is hidden when SQLite is in use.
- Database Size - The current on-disk size of the database.
- Current Database Type - The database engine in use: SQLite, Microsoft SQL Server, MySQL, or PostgreSQL.
- Table Name Prefix - The prefix applied to all SmarterTrack database tables. The default is
st_, so tables are named things likest_tickets,st_agents, and so on. This prefix can be changed during a conversion if needed, for example to coexist with another application sharing the same database server.
Convert Database
The Convert Database button opens a modal that walks through the migration to a different database engine. The current database type is not selectable as a destination — you can only convert to a different type. Before starting, the target database server must already be installed, running, and accessible from the SmarterTrack server. The conversion wizard does not install database software; it only migrates the data.
It is strongly recommended to create two databases on the target server before beginning: one named
something like SmarterTrack_test for a test run, and one (e.g., SmarterTrack)
for the final production conversion. Running a test first against a throwaway database confirms that the
migration will succeed before touching production.
MySQL
- Database Type - MySQL
- Server Name - The hostname or IP address of the MySQL server.
- Username / Password - Credentials for a MySQL account that has permission to create and write to the target database.
- Database Name - The name of the target database. Defaults to
SmarterTrack. - Table Name Prefix - The prefix to use for SmarterTrack tables in the new database. Defaults
to
st_.
Microsoft SQL Server
- Database Type - Microsoft SQL Server
- Server Name - The hostname or IP address (and optional instance name) of the SQL Server.
- Authentication - How SmarterTrack will authenticate to SQL Server. Three options are available: Integrated Authentication (uses the application pool identity), Windows Authentication (uses a specific Windows domain account), and SQL Server Authentication (uses a SQL Server login with username and password). Consult your database administrator or SQL Server documentation to determine which method is appropriate for your environment.
- Database Name - The name of the target database. Defaults to
SmarterTrack. - Table Name Prefix - The prefix to use for SmarterTrack tables. Defaults to
st_.
PostgreSQL
- Database Type - PostgreSQL
- Server Name - The hostname or IP address of the PostgreSQL server.
- Username / Password - Credentials for a PostgreSQL account with permission to create and write to the target database.
- Database Name - The name of the target database. Defaults to
SmarterTrack. - Table Name Prefix - The prefix to use for SmarterTrack tables. Defaults to
st_.
SQLite
SQLite uses a local file for storage, so no server connection details are required. When converting to SQLite, SmarterTrack uses default values and nothing needs to be configured in the modal.
Testing the Conversion
The Convert Database modal includes a Testing checkbox at the bottom. When this is checked and Start is clicked, SmarterTrack runs the full conversion process against the target database credentials provided, but marks the result as a test rather than switching production over to the new database.
While the conversion runs, the Database Management page shows a live progress indicator that updates every few seconds, displaying the current step and rows processed. When the test completes successfully, two buttons appear:
- Switch - Promotes the test database to production. SmarterTrack will restart using the newly converted database. This option is only available for approximately 5 minutes after the test completes; after that it expires and the full conversion must be re-run.
- Finish - Discards the test result without switching to the new database, allowing you to re-run the conversion or make adjustments.
If the test conversion fails, the page displays the failure status and error details. Resolve any connectivity or permission issues with the target database and try again before running the production conversion.
Finalizing the Conversion
After a successful test, either use the Switch button to promote it to production, or re-run the conversion without the Testing checkbox checked, pointing to the production database. Once the conversion completes, SmarterTrack restarts automatically and begins using the new database.
Actions
Administrators with Developer Mode enabled will see an Actions menu in the toolbar containing two maintenance utilities. These are advanced operations intended for use when directed by SmarterTools support or when a specific data integrity issue is known to exist.
Repair Ticket Timings
SmarterTrack tracks detailed timing data for every ticket: when it was first responded to, how long it was open, handle time, and so on. This data powers the time-related columns and metrics in reports. In rare circumstances — such as after a crash, an interrupted import, or certain upgrade scenarios — ticket timing records can become corrupted or go missing entirely, causing inaccurate report figures.
Clicking Repair Ticket Timings starts a background thread that scans for tickets with broken or missing timing records and corrects them. Broken timings are recalculated from the underlying ticket event data; missing timing records are created from scratch. The process runs in the background and does not interrupt normal use of SmarterTrack. It also skips running if a database conversion is in progress.
This action is safe to run at any time, but is generally only needed when report data appears inaccurate or when advised by SmarterTools support after an upgrade.
Clean Up Orphaned Data
Over time, certain database records can lose their parent reference — for example, a ticket attachment record pointing to a ticket that was permanently deleted, or a canned reply event log entry whose parent canned reply no longer exists. These orphaned records don't cause visible errors, but they consume database space and can slow down queries that scan the affected tables.
Clicking Clean Up Orphaned Data runs a synchronous cleanup that removes orphaned child records across the following areas:
- Autoresponder attachments and autoresponders whose parent brand no longer exists
- Canned reply event log entries and language records without a parent canned reply
- Live chat comments, event logs, attachments, messages, and custom field data without a parent chat session
- Ticket attachments, event logs, comments, emails, messages, custom field data, and merge records without a parent ticket
- Form offered and form response records whose parent chat, ticket, form, or user no longer exists
- Knowledge base article language records, comments, attachments, and event logs without a parent KB article
- Related item links referencing tickets or chats that no longer exist
- Search index tokens linked to deleted tickets, tasks, chats, call logs, KB articles, or threads
- Community thread posts, scores, tags, and user flags without a parent thread
- Survey context records referencing deleted tickets or chats
- User comment records whose comment type no longer exists
This operation runs immediately (not in the background) and completes silently. On a very large database it may take a few minutes. As with Repair Ticket Timings, this action is generally run when advised by SmarterTools support or as part of routine maintenance on an installation that has been in use for many years.