Itgenclr039 Error when using an already active SQL user

I got this error last week but I thought it was a one time thing, now I made another new instance and I got the same error.

Points of notice:

  • I’ve made a new .xml settings file with an existing connection string (new connection name, new database, new group name)
  • I’ve made a new .bat file
  • I’ve made a new database in SQL Server Management Studio
  • Existing SQL user which is also used in different script (which works) does not work in a new script.

Entirely same kind of access as for other script.

When a new SQL Server user is used this script runs absolutely fine:

Run with new SQL Server user

What is causing this issue? Is it policy that you can only use a user for one Invantive script?

Is it correct that in this setup a single SQL Server user (let’s name it john_doe) has access to two SQL Server databases, each one intended to contain a different Data Replicator repository?

Yes, that is correct.

Thank you. It is not possible to use a single SQL Server user that has access to multiple Invantive Data Replicator repositories stored in different databases.

When the Data Replicator driver is started, the software scans what databases the SQL Server user has access to. It determines for each database whether there is a Data Replicator repository by checking for the presence of the table dc_settings.

When there are multiple, it should raise an error. It is weird that it doesn’t display this one:

The user in the backing SQL database should have access to at most one repository. Multiple repositories are accessible.
Please make sure that the user has only access to exactly one repository.

It would be highly appreciated when you can send a trace file together with the settings*.xml files (without passwords) to our support system for evaluation.

When there is no database found, it should create such a table and all other tables of the repository in the current database.

When there is exactly one, it will use that database as the repository.

Summarizing: make sure a separate SQL Server user is used for each Invantive Data Replicator repository. Note that a single Data Replicator repository easily scales above 1 TB of managed data, so there is no need performance-wise to create different repositories. There might be security-wise, but in that case the SQL Server users should be split for the same time.

Relates to Incremental script - Exact Online met Datahub.