CORRECTIF : Violation d’accès lorsque vous conservez RBS avec le 4.0 de.NET Framework dans le fichier de configuration connexes dans SQL Server

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 2960310
Symptômes
Supposons que vous utilisez un fournisseur de stockage d’objets BLOB distants (RBS) personnalisé avec le Runtime.NET Framework 4.0 pour stocker des données BLOB à distance pour Microsoft SharePoint 2013. Lorsque vous essayez d’exécuter le nettoyage garbage qui appelle en interne la Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, le message d’erreur suivant s’affiche lors du garbage collection :
Démarrage des tâches de l’intendant.
Démarrage de Garbage Collection.
Démarrage de l’analyse de référence.
Heure> : ERR : 0:::AssemblyLoad ::: une erreur s’est produite lors de la lecture d’extension fichier xxxx. RemoteBlobStoreProvider.dll.
Heure> : ERR : 0:::AssemblyLoad ::: System.BadImageFormatException : cet assembly est généré par un runtime plus récent que le runtime actuellement chargé et ne peut pas être chargé. (Exception à partir de HRESULT : 0x8013101B)
Heure> : ERR : 0:::AssemblyLoad ::: à System.Reflection.Assembly.nLoadFile (String path, preuve evidence)
Heure> : ERR : 0:::AssemblyLoad ::: à System.Reflection.Assembly.LoadFile (chemin d’accès de la chaîne)Heure> : ERR : 0:::AssemblyLoad ::: à Microsoft.Data.SqlRemoteBlobs.ProviderClass.Initialize()

L’outil intendant est compilé à l’aide du runtime.NET Framework 2.0, et il ne peut pas charger des assemblys qui sont basés sur le de.NET Framework 4.0 pour l’énumération des objets BLOB et le garbage collection. Pour toute application.NET Framework, vous pouvez utiliser le fichier de configuration de l’application et ajoutez la balise supportedRuntime pour utiliser la version ultérieure du.NET Framework. Le fichier de configuration du composant intendant est Microsoft.Data.SqlRemoteBlobs.MaintainerConfig.xml, comme dans l’exemple suivant :
<startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
Si vous essayez d’exécuter le nettoyage garbage, Microsoft.Data.SqlRemoteBlobs.Maintainer.exe rencontre une exception de violation d’accès, comme suit :
System.AccessViolationException : Tentative de lecture ou d’écriture de mémoire protégée. Cela indique souvent qu’une autre mémoire est endommagée.
à System.Text.StringBuilder.AppendFormat (IFormatProvider fournisseur, format de la chaîne, objet [] args)
à Microsoft.Data.SqlRemoteBlobs.InformationUtilities.InformationDetails()
à Microsoft.Data.BlobStores.LogProvider.CreateHeaderInformation()
à Microsoft.Data.BlobStores.LogProvider.Initialize (LogLevel logLevel)
à Microsoft.Data.BlobStores.DebugPrint.InitializeProviders()
à Microsoft.Data.BlobStores.DebugPrint.Initialize (Boolean initializeProviders)
à Microsoft.Data.BlobStores.DebugPrint.WriteLine (opération de type d’opération, LogLevel niveau, Int32 blobStoreId, l’Exception exception, message de type chaîne, objet [] arg)
à Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.MainInternal() à Microsoft.Data.SqlRemoteBlobs.Maintainer.Maintainer.Main (String [] args)
Cause
La première exception se produit car l’outil intendant est compilé à l’aide de.NET Framework 2.0. L’outil ne peut pas charger des assemblys qui sont basés sur le de.NET Framework 4.0. L’exception de violation d’accès se produit lorsque vous tentez d’initialiser des fournisseurs de l’enregistrement de Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.
Résolution
Le correctif de ce problème est disponible dans le téléchargement du pack de fonctionnalité plus récent de RBS.msi. Si vous avez utilisez la solution de contournement suggérée, vous pouvez supprimer ou activer liés à l’enregistrement dans le journal des balises et conserve la balise supportRuntime .

Remarque Vous pouvez réinstaller RBS pour appliquer le correctif sans appliquer la mise à jour à l’aide de la RBS.msi de nouveau.
Contournement
Pour contourner ce problème, ajoutez la configuration supplémentaire suivante au fichier de configuration avec la balise supportedRuntime . Ces balises de désactiver la fonctionnalité de journalisation de l’outil intendant car l’exception est levée lors de l’initialisation des fournisseurs de journalisation.
 <startup>            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>     <RemoteBlobStorage>        <Logging>            <add key="ConsoleLog" value="0" />            <add key="FileLog" value="0" />            <add key="CircularLog" value="0" />            <add key="EventViewerLog" value="0" />            <add key="DatabaseTableLog" value="0" />        </Logging>    </RemoteBlobStorage>
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Avertissement : Cet article a été traduit automatiquement.

गुण

आलेख ID: 2960310 - पिछली समीक्षा: 11/09/2016 21:13:00 - संशोधन: 6.0

Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Service Pack 2

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2960310 KbMtfr
प्रतिक्रिया