Le serveur Runbook se déconnecte en raison d’interblocages

Cet article vous aide à résoudre un problème où le serveur Runbook System Center 2012 Orchestrator passe hors connexion en raison d’interblocages.

Version d’origine du produit : Microsoft System Center 2012 Orchestrator
Numéro de la base de connaissances d’origine : 2860832

Symptômes

Le serveur Runbook System Center 2012 Orchestrator se met hors connexion en raison d’erreurs de base de données résultant d’une ou plusieurs interblocages. Les événements de plateforme Orchestrator tels qu’ils sont consultés dans le Runbook Designer ou la console Orchestration signale les événements suivants :

Résumé : L’ordinateur> Runbook Server <rencontre des erreurs fréquentes lors de l’accès à la base de données
Détails : Runbook Server rencontre des erreurs fréquentes lors de l’accès à la base de données. Vérifiez le status du serveur de base de données. Si le problème persiste, contactez le support technique.

Un examen des interblocages montre une procédure stockée en cours d’exécution dbo.sp_UnpublishPolicyRequest avec un objectlock par rapport à la dbo.POLICY_REQUEST_ACTION_SERVERS table de chacun des verrous.

Cause

De nombreuses instances de runbook sont exécutées en même temps et exécutent la dbo.sp_UnpublishPolicyRequest procédure stockée pour supprimer le instance terminé. La relation de clé étrangère de la dbo.POLICY_REQUEST_ACTION_SERVERS table avec une option de suppression en cascade, mais aucun index par rapport à la SeqNumber colonne de la clé étrangère provoque un verrou de table complet plutôt qu’un verrou de ligne plus sélectif. Lorsque les exécutions multiples tentent de convertir leur intention en verrous (IX) en verrous exclusifs (X), l’interblocage se produit.

Résolution

Utilisez SQL Server Management Studio pour exécuter le code T-SQL suivant sur votre base de données Orchestrator afin de créer un index sur la SeqNumber colonne de la dbo.POLICY_REQUEST_ACTION_SERVERS table.

CREATE NONCLUSTERED INDEX [IX_POLICY_REQUEST_ACTION_SERVERS_SeqNumber] ON [dbo].[POLICY_REQUEST_ACTION_SERVERS]
(
       [SeqNumber] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

Plus d’informations

Exemple de type de contenu que vous verrez lors de l’examen SQL Server détails du graphe d’interblocage :

<process id="process3cd0188 » taskpriority="0 » logused="1596 » waitresource="OBJECT : 10 :2142630676 :0 " waittime="85 » ownerId="255020956 » transactionname="DELETE » lasttranstarted="2013-06-05T22 :20 :51.713 » XDES="0x454c4d4d8 » lockMode="X » schedulerid="4 » kpid="12168 » status="suspended » spid="183 » sbid="0 » ecid="0 » priority="0 » trancount="2 » lastbatchstarted="2013-2013-06-05T22 :20 :51.713 » lastbatchcompleted="2013-06-05T22 :20 :51.710 » lastattention= » 1900-01-01T00 :00 :00.710 » clientapp="Orchestrator » hostname="COMPUTER » hostpid="3596 » loginname="DOMAIN\username » isolationlevel="read committed (2) » xactid="255020956 » currentdb="10 » lockTimeout="4294967295 » clientoption1="673185824 » clientoption2="128056 »>
<executionStack>
<frame procname="Orchestrator.Microsoft.SystemCenter.Orchestrator.Runtime.Internal.CompleteJob » line="22 » stmtstart="1054 » stmtend="1230 » sqlhandle="0x03000a0044da8e2771265d0124a0000001000000000000000000000000000000000000000000000000000000 »> DELETE FROM
[dbo]. [POLICY_PUBLISH_QUEUE]
WHERE
[SeqNumber] = @SeqNumber</frame><frame procname="Orchestrator.dbo.sp_UnpublishPolicyRequest » line="19 » stmtstart="820 » stmtend="1080 » sqlhandle="0x03000a00ac66a25373265d0124a0000001000000000000000000000000000000000000000000000000000000 »> EXEC [Microsoft.SystemCenter.Orchestrator.Runtime.Internal].[ CompleteJob] @JobId, , @PolicyID@SeqNumber, 'S-1-5-500', @JobStatus</frame<>/executionStack<>inputbuf> Proc [Database ID = 10 Object Id = 1403152044] </inputbuf></process>

<objectlock lockPartition="0 » objid="2142630676 » subresource="FULL » dbid="10 » objectname="Orchestrator.dbo.POLICY_REQUEST_ACTION_SERVERS » id="lockbdedf6280 » mode="IX » associatedObjectId="2142630676 »>