読者です 読者をやめる 読者になる 読者になる

System Center Orchestrator Web ConsoleにRunbookが表示されない

System Center

Runbookを作ってチェックインして、すぐにOrchestrator Web Consoleから実行確認しようとすると、先程作ったRunbookが表示されていないことがあります。Web Browserをリフレッシュしても表示されません。

結局、10分くらいで表示されるのですがカラクリは以下にあるようです。

OrchestratorのDBで以下のクエリを実行してみてください。

use Orchestrator
select * from [Microsoft.SystemCenter.Orchestrator.Maintenance].MaintenanceTasks

結果としてメンテナンスジョブが返ってきます。このなかでClearAuthorizationCacheのジョブがOrchestrator Web Consoleの情報をリフレッシュしてくれるジョブのようです。

Intervalが600(10分)になっているのがわかります。

Id	Name	ProcedureName	IsEnabled	LastExecutionTime	IntervalInSeconds	IsTimerBased	ConversationHandle
1	Authorization	[Microsoft.SystemCenter.Orchestrator.Maintenance].[AuthorizationMaintenance]	1	2014-12-03 01:28:51.957	1800	0	NULL
2	Statistics	[Microsoft.SystemCenter.Orchestrator.Statistics.Internal].[ComputeStatistics]	1	2014-12-03 01:36:09.457	600	1	1E0C8B37-B368-E411-80CA-000D3A4002F1
3	ClearAuthorizationCache	[Microsoft.SystemCenter.Orchestrator.Internal].[ClearAuthorizationCache]	1	2014-12-03 01:36:09.440	600	1	200C8B37-B368-E411-80CA-000D3A4002F1

 
 
10分待つのが面倒な場合。このメンテナンスジョブの実体はこのストアドプロシージャになります。

[Microsoft.SystemCenter.Orchestrator.Internal].[ClearAuthorizationCache]


ストアドプロシージャの中身を見ると、以下のようになっています。

USE [Orchestrator]
GO
/****** Object:  StoredProcedure [Microsoft.SystemCenter.Orchestrator.Internal].[ClearAuthorizationCache]    Script Date: 2014/12/03 10:53:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [Microsoft.SystemCenter.Orchestrator.Internal].[ClearAuthorizationCache]	
@currentTime datetime,
@lastExecutionTime datetime
AS
BEGIN
	SET NOCOUNT ON;
	
	
	TRUNCATE TABLE [Microsoft.SystemCenter.Orchestrator.Internal].AuthorizationCache		
END

 
 

つまりは以下のSQL Server Management Studioからコマンドを打ってからBrowserをリフレッシュすれば、登録したばかりのRunboookがOrchestrator Web Consoleから見えるようになります。

USE Orchestrator
TRUNCATE TABLE [Microsoft.SystemCenter.Orchestrator.Internal].AuthorizationCache