This guides you through at a high level the key components that comprise mSQL.
These provide the high-level functionality; they’re responsible for such things as accessing the database, finding records to compare, and importing results.
These provide the same level of high-level functionality as the stored procedures but are delivered through Microsoft’s SSIS Software. SSIS packages provide a rapid way of implementing your matching process and can be scheduled from SQL Management Studio’s SQL Server Agent.
These provide a safe interface to the mAPI, an unmanaged COM component for generating search keys and comparing records. Should a problem be encountered within the unmanaged code, the service can automatically spawn a new worker and thus provide a highly stable and robust batch processing environment.
From a user perspective you will not need to worry about the workers, but we mention them here for the purposes of completeness.
This provides a link between the stored procedures and worker processes. When a stored procedure runs, it connects to the service which, in turn, creates a new worker. The stored procedure then connects to the worker, which will then provide the stored procedure with all mAPI-related functionality.
From a user perspective you will not need to worry about the service, but we mention it here for the purposes of completeness.
When an error is generated through the mSQL stored procedures or SSIS tasks, an error log will normally be created in the specified temporary folder (note that where there are actual problems with the XML configuration file itself, i.e. invalid XML then this error log cannot be produced). Normally if an error occurs, you should be able to review this error log and quickly see what the problem is. In the rare scenario that you are unable to determine the cause of the error yourself, then feel free to contact our support team and attach the error log file to a ticket submission above, we will then be able to actively investigate the problem.
This isn’t an essential component of the mQL system. It’s a simple program that’s useful for monitoring the status of the service and any active worker processes. It can be used to detect deadlocked and crashed workers and provides a convenient mechanism for terminating them so that the stored procedure can resume processing.