You’re stuck. Suddenly, connectors across Microsoft System Center Service Manager (SCSM) stop working, even connectors to Active Directory and Configuration Manager. You see errors pop up in the operations event log that look something like this:
How to fix it?
You don’t have to do anything drastic like a database restore.
Turns out, other people have had this issue. We found some ideas that helped identify the root cause and solution, and so we’re sharing what we found works in this situation.
Problem: Repeated Errors
Strangely a few weeks after connectors stopped working, this is what we saw in event logs: repeated errors:
- Error: The relationship source specified in the discovery data item is not valid
- Warning: Data Access Layer rejected retry on SQLError:
- Event ID: 3333
- Event ID: 3334
Based on the type of error, you might think this is a permission issue or firewall – database issue but troubleshooting these areas didn’t fix the problem.
The Fix Phase 1: The Database
It takes two phases to fix the problem, which involves:
- The database
- Exporting and editing the “ServiceManagerLinkingFrameworkConfiguration” and re-importing it into SCSM
Step 1. In our example, to confirm the connectors that are being affected, run the query below against the Service Manager database. The first one will show results of the connectors that you should see in the Console.select * from MT_Connector use ServiceManager
Step 2. Run this next query below to get the DataSourceName column. Use ServiceManager
select * from lfx.DataSource
You can see the stale connectors are like ghosts. They aren’t easy to find, and they didn’t appear in the console the way connectors you plan to delete normally do: “Delete” [connector name].
Step 3. Next, copy the DataSourceName of the connectors that correlates with the name “Delete – “. Place them in the DataSourceName of the ghost connectors in the script below.
This is script where you input your DataSourceName, which are lines 13 to 18.
After running the script, you should see something like this:
Success! The connectors are working as they should.
Phase 2: The Console and Editing the Management Pack
We made it through the first phase, which got the connectors working. But the next thing we need to do is go to the SCSM console and edit the management pack.
Step 4. Export management pack “ServiceManagerLinkingFrameworkConfiguration” to your desired location. It’s a good idea to copy and store the management pack before editing it.
Step 5. Open the Management Pack and search the DataSourceName that you used to remove the dysfunctional / ghost name that started with “Delete- “. It will be sandwiched between the “Writeaction” section. Remove the whole write action section of the datasourcename you find.
Step 6. After removing all targeted DataSource Names, save the management pack and reimport into the SCSM console
Step 7. Remove the HealthService folder
- Stop Monitoring Agent
- Stop System Center Data Access Service
- Stop System Center Management Configuration
- Delete “Health Service State” folder (this is located where SCSM install location, example: E:\Program Files\Microsoft System Center 2012 R2\Service Manager
- Start Monitoring Agent
- Start System Center Data Access Service
- Start System Center Management Configuration
After following these steps, you should see that the errors have disappeared from event logs.
Step 8. Enable each connector and test that they sync. You should be good to go!
This blog has been updated from its original 2019 version, How to Fix Stale “Ghost” Connectors in Your Database. Need additional help with problems like this? Talk to us!