Project Server 2013 – Access to the registry key ‘Global’ is denied

Problème

Toutes les minutes, dans les journaux ULS, vous constatez cette erreur:

  • Process: Microsoft.Office.Project.Server
  • Produit: Project Server
  • Catégorie: Project Calculation Service
Timer Task thread crashed System.UnauthorizedAccessException: Access to the registry key 'Global' is denied. 
 at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) 
 at Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity) 
 at Microsoft.Win32.RegistryKey.GetValue(String name) 
 at System.Diagnostics.PerformanceMonitor.GetData(String item) 
 at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item) 
 at System.Diagnostics.PerformanceCounterLib.get_CategoryTable() 
 at System.Diagnostics.PerformanceCounterLib.CounterExists(String category, String counter, Boolean& categoryExists) 
 at System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String category, String counter) 
 at System.Diagnostics.PerformanceCounter.InitializeImpl() 
 at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly) 
 at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName) 
 at Microsoft.Office.Project.Server.BusinessLayer.PcsEngine.PcsPerfCounter.<.ctor>b__0() 
 at System.Lazy`1.CreateValue() --- End of stack trace from previous location where exception was thrown --- 
 at System.Lazy`1.get_Value() 
 at Microsoft.Office.Project.Server.BusinessLayer.PcsEngine.PcsPerfCounter.EnsureSampleDataTask() 
 at Microsoft.Office.Project.Server.BusinessLayer.PcsEngine.PcsTaskWorker.PerformTasksCallback(Object obj) StackTrace: 
 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
 at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
 at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
 at System.Threading.ThreadPoolWorkQueue.Dispatch()

Solution

Project Server maintient des compteurs de performances le concernant. Il doit donc avoir les droits de le faire. Il faut ajouter le compte qui démarre les services Project Server aux groupes locaux suivants:

  • Performance Log Users
  • Performance Monitor Users

Il faut ensuite redémarrer les services Project Server quand la file d’attente n’a pas de travail.

SharePoint 2013 – NodeRunnerQuery et NodeRunnerAdmin – erreurs accès SQL

Problème

Dans les journaux ULS de SharePoint, vous constatez ces messages en boucle:

  • Unable to get sql session to admin database
  • NerioCluster: No lease returned when reading DB

2014-10-05_10-58-11

Solution

Le service de recherche est démarré dans les services, mais aucune application de recherche n’est crée.

Il faut soit créer une application de recherche soit arrêter le service depuis l’administration centrale:

2014-10-05_11-01-38

SharePoint 2013 – MsiInstaller – 1015 – Failed to connect to server. Error: 0x80070005

Problème

Tous les soirs dans les journaux d’événements vous constatez cet avertissement:

Failed to connect to server. Error: 0x80070005

2014-08-03_16-37-25

En revanche vous n’avez pas les erreurs DCOM généralement associées.

Solution

  1. Rendre temporairement administrateur local le compte admin de la ferme (celui qui démarre le service SharePoint Timer)
  2. Via le prompt PowerShell de SharePoint: Get-SPProduct -local
  3. Via le prompt PowerShell de SharePoint: (get-spserver $env:computername).NeedsUpgrade
  4. Lancer manuellement le travail du timer qui génère cette alerte: Get-SPTimerJob job-admin-product-version | Start-SPTimerJob
  5. Vérifier que cette erreur n’est plus présente dans les journaux après son exécution
  6. Enlever le compte des administrateurs locaux
  7. Redémarrer le service SharePoint Timer
  8. Lancer manuellement le travail du timer qui génère cette alerte: Get-SPTimerJob job-admin-product-version | Start-SPTimerJob
  9. Vérifier que cette erreur n’est plus présente dans les journaux après son exécution