PowerPivot l’actualisation des données programmée échoue avec l’erreur « L’opération a échoué »
Cet article a été rédigé par l’ingénieur de l’escalade du support technique, Andring Andring.
Symptômes
Supposons que vous créez un PowerPivot avec une ou plusieurs sources de données et téléchargez le Microsoft SharePoint Server 2016. Lorsque vous programmez l’actualisation du manuel, l’actualisation échoue avec l’erreur suivante :
L’opération a pris du temps.
Si vous développez l’historique d’actualisation, vous remarquerez que l’actualisation de la source de données qui a échoué s’exécute pendant exactement 100 secondes.
Vous remarquerez peut-être que certaines de vos sources de données réussissent ou que l’actualisation réussit par intermittence si toutes les sources de données sont actualisées en moins de 100 secondes.
Dans les journaux ULS (Unified Logging Service) du SharePoint, vous voyez l’erreur réelle, mais il semble qu’elle ne soit liée à aucune cause significative.
DateTime w3wp.exe (0x00000) 0x59D4 PowerPivot Service Data Refresh 99 High EXCEPTION: System.Net.WebException: The operation has timed out at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
Vous verrez probablement un événement de mise en quarantaine (EventID : 5214) dans les journaux des événements d’application.
Si vous avez plusieurs workbooks qui tirent de la même source et qu’un de ces derniers ralentit la source de données, d’autres requêtes risquent d’être en attente ou lentes (au-delà des 100), il se peut que plusieurs workbooks échouent.
Cause
Ce problème se produit car SharePoint 2016 limite une source de données PowerPivot à une durée d’actualisation de 100 secondes.
Notes
Cela peut également être dû à des sources de données lentes ou sous-performants si vous pensez que vos données doivent être en cours d’actualisation sous 100 secondes. Si vous retirez une petite quantité de données à partir d’une source de données complexe qui prend beaucoup de temps à interroger, vous pouvez envisager d’autres solutions de contournement, car l’augmentation du délai d’accès n’est peut-être pas la meilleure option.
Solutions de contournement
Optimisez vos requêtes pour qu’ils s’exécutent plus rapidement.
Interroger moins de données.
Ajoutez du matériel à votre source de données pour traiter les requêtes plus rapidement.
Utilisez PowerShell pour augmenter le paramètre de délai d’délai par défaut.
Exécutez les commandes suivantes dans une invite PowerShell activée par l’administrateur SharePoint 2016, en modifiant la section « new_time_out_value » sur la valeur de délai d’accès souhaitée.
$farm = Get-SPFarm #The time out value "new_time_out_value" is in milliseconds, so be very careful to not set it too low!!! $farm.Properties.Add("WopiProxyRequestTimeout", new_time_out_value); $farm.Update(); #to double-check the setting (make sure it is of type Int32, otherwise you will need to remove the property an add it again $farm.Properties["WopiProxyRequestTimeout"].GetType()Exécutez la commande suivante pour définir une valeur différente à l’avenir ou si vous avez des problèmes avec le paramètre.
$farm = Get-SPFarm $farm.properties.Remove("WopiProxyRequestTimeout") $farm.Properties.Add("WopiProxyRequestTimeout", new_time_out_value); $farm.update()
Notes
Augmentez cette valeur de délai à vos risques et périls ! Nous savons que le nouveau délai d’délai par défaut est très faible. Mais vous devez également connaître la quantité de données que vous tirez et le temps qu’il faut pour tirer ces données. Le fait de définir ce délai trop élevé et de permettre aux utilisateurs d’obtenir de grandes quantités de données peut entraîner des problèmes de performances pour PowerPivot, SharePoint et Office Online Server. Vous serez également limité par les délai d’SharePoint, SQL et vos sources de données externes. Cette valeur de délai d’délai n’est peut-être pas toujours la réponse. Il existe d’autres solutions de contournement et options d’optimisation, selon le type de données que vous tirent.