Archive for: ‘March 2025’

Orchestrator database fixes

March 20, 2025 Posted by Alexander Axberg

Source: https://techcommunity.microsoft.com/discussions/systemcenter/system-center-orchestrator-2022-web-console-issues/4021500

Issue 1: Runbooks not visible in the Web Console.

In this issue the left hand pane where the runbook structure should be populated is blank.

Solution 1: Ran this query on the Orchestrator DB

GRANT CONTROL ON ASYMMETRIC KEY::[ORCHESTRATOR_ASYM_KEY] TO [Microsoft.SystemCenter.Orchestrator.Admins]

GRANT CONTROL ON SYMMETRIC KEY::[ORCHESTRATOR_SYM_KEY] TO [Microsoft.SystemCenter.Orchestrator.Admins]

GRANT EXECUTE ON object::[Microsoft.SystemCenter.Orchestrator].[GetSecurityToken] TO [Microsoft.SystemCenter.Orchestrator.Operators]

GRANT SELECT ON object::[Microsoft.SystemCenter.Orchestrator.Internal].[Settings] TO [Microsoft.SystemCenter.Orchestrator.Operators]

GRANT SELECT ON object::[Microsoft.SystemCenter.Orchestrator.Internal].[AuthorizationCache] TO [Microsoft.SystemCenter.Orchestrator.Admins]

Issue 2: Unable to delete stale or orphaned runbook server instances

I decommissioned some older runbook servers but was unable to delete them from any of the orchestrator consoles.

Solution: Run these sql queries against the orchestartor database

DELETE FROM [Orchestrator].[dbo].[CLIENTCONNECTIONS]

WHERE [ClientMachine] = ‘SCORCHRB’

— Here SCORCHRB is my Runbook Server Name.

DELETE  FROM [Orchestrator].[dbo].[ACTIONSERVERS]

  WHERE [Computer] = ‘SCORCHRBServer’

— Here SCORCHRBServer is my Runbook Server Name.

DELETE FROM dbo.OBJECTS

where Name = ‘SCORCHRBServer’

— Here SCORCHRBServer is my Runbook Server Name.

Issue 3: Runbooks remain in the checked out state in the web console

I have run into an issue where no matter how many times i check in a runbook, the runbook in the web console remains checked out.

Solution 3: Run this sql query against the orchestrator database

use Orchestrator

GO Truncate table [Microsoft.SystemCenter.Orchestrator.Internal].AuthorizationCache

DECLARE @secToken INT

DECLARE tokenCursor CURSOR FOR

SELECT Id FROM [Microsoft.SystemCenter.Orchestrator.Internal].SecurityTokens

where ExpirationTime >= GETUTCDATE() OPEN tokenCursor

FETCH NEXT FROM tokenCursor

INTO @secToken

WHILE @@FETCH_STATUS = 0

BEGIN PRINT ‘Computing Authorization Cache for Security Token: ‘ + Convert(Nvarchar, @secToken) exec [Microsoft.SystemCenter.Orchestrator].ComputeAuthorizationCache @TokenId = @secToken FETCH NEXT FROM tokenCursor

INTO @secToken END CLOSE tokenCursor DEALLOCATE tokenCursor