Gérer le stockage BLOB distant (RBS) dans SharePoint Server

 

**Sapplique à :**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**Dernière rubrique modifiée :**2018-02-21

Résumé : Découvrez comment effectuer des tâches de maintenance associées au stockage Blob distant (RBS) dans SharePoint Server 2016 et SharePoint 2013.

Vous effectuez la plupart des tâches de maintenance associées à RBS dans SharePoint Server à l’aide du chargé de maintenance RBS, outil disponible dans SQL Server. Cet outil effectue un nettoyage de la mémoire (garbage collection) périodique et d’autres tâches de maintenance pour un déploiement RBS SharePoint Server. Vous pouvez planifier ces tâches pour chaque base de données qui utilise le stockage BLOB distant à l’aide du Planificateur de tâches Windows ou de l’Agent Microsoft SQL Server. Vous devez mettre en service le chargé de maintenance RBS à l’aide de paramètres de ligne de commande ou par le biais d’un fichier XML. Dans le cas des bases de données répliquées ou en miroir, vous pouvez exécuter le chargé de maintenance RBS vis-à-vis de toute instance.

Contenu de cet article :

  • Configurer le nettoyage de la mémoire RBS

  • Vérifications de cohérence du stockage BLOB distant et du magasin d’objets BLOB

  • Exécution du chargé de maintenance RBS

Configurer le nettoyage de la mémoire RBS

SharePoint Server marque automatiquement pour la suppression les données BLOB supprimées ou non référencées. SharePoint Server calcule le nombre de références aux objets BLOB en consultant la liste des ID d’objet BLOB stockés par SharePoint Server dans ses bases de données de contenu au moment de la suppression. Toute référence à un objet BLOB présente dans les tables du magasin RBS, mais absente dans la base de données de contenu, est supposée avoir été supprimée par SharePoint Server et sera marquée pour la suppression. Les objets BLOB qui ne sont pas présents dans la base de données de contenu et qui ont été créés avant la plage de nettoyage orphelin, décrite plus loin dans cet article, sont également supposés avoir été supprimés par SharePoint Server et seront marqués pour la suppression.

Étant donné que SharePoint Server classifie les références d’objets BLOB à partir des colonnes RBS de la base de données de contenu, chaque colonne RBS doit avoir un index valide pour pouvoir être inscrite dans RBS.

L’outil Chargé de maintenance RBS SQL Server supprime les éléments marqués par SharePoint Server pour la suppression. Vous devez planifier les tâches de nettoyage afin qu’elles soient exécutées pendant des heures creuses de manière à réduire l’impact sur les opérations de base de données ordinaires.

Le nettoyage de la mémoire RBS est réalisé selon les trois étapes suivantes :

  • Analyse de référence. La première étape permet de comparer le contenu des tables RBS de la base de données de contenu SharePoint Server qui contient les tables internes propres à RBS et d’identifier les objets BLOB qui ne sont plus référencés. Tout objet BLOB non référencé est marqué pour la suppression.

  • Supprimer la propagation. L’étape suivante permet d’identifier les objets BLOB qui ont été marqués pour la suppression pour une période supérieure à la valeur garbage_collection_time_window et de les supprimer du magasin d’objets BLOB.

  • Nettoyage orphelin. La dernière étape permet de déterminer si des objets BLOB sont présents dans le magasin d’objets BLOB mais absents des tables RBS. Ces objets BLOB orphelins sont ensuite supprimés.

Configuration du nettoyage de la mémoire RBS

Vous pouvez configurer le nettoyage de la mémoire en spécifiant les paramètres du chargé de maintenance RBS et les paramètres de base de données suivants :

  • Planification du chargé de maintenance. Ce paramètre détermine la fréquence d’exécution du chargé de maintenance RBS.

  • Durée de la tâche. Ce paramètre détermine la durée maximale de l’exécution d’une tâche du chargé de maintenance RBS. La valeur par défaut est de deux heures.

Vous devez configurer le chargé de maintenance RBS afin que son activité ait un impact minimal sur l’activité ordinaire. Pour plus d’informations sur les paramètres de nettoyage de la mémoire de base de données, notamment sur leur configuration, voir l’article sur l’exécution du chargé de maintenance RBS.

Vérifications de cohérence du stockage BLOB distant et du magasin d’objets BLOB

Le chargé de maintenance RBS vérifie l’intégrité des références aux objets BLOB RBS et corrige les erreurs détectées. Il effectue plusieurs vérifications de cohérence pour la base de données, vérifiant notamment qu’il existe des index pour les colonnes RBS et que tous les objets BLOB référencés par SharePoint Server existent dans le stockage BLOB distant.

La vérification de cohérence de table auxiliaire permet de vérifier que les tables auxiliaires RBS sont dans un état cohérent. Les contrôles effectués sont les suivants :

  • vérification que chaque colonne de table RBS a un index valide ;

  • vérification qu’il existe des colonnes de tables RBS, qu’elles ont des index activés et valides et qu’elles sont du type de colonne correct.

Bien que cela soit possible, il est déconseillé de désactiver les vérifications de cohérence suivantes, car elles permettent de garantir la cohérence de votre magasin d’objets BLOB. Par défaut, les vérifications de cohérence suivantes sont activées :

  • vérification que tous les objets BLOB référencés par SharePoint Server sont présents dans les tables RBS ;

  • vérification qu’aucun objet BLOB n’est marqué à la fois comme utilisé et comme supprimé.

Tout problème découvert est consigné dans le journal et le chargé de maintenance RBS tente de le résoudre en créant les entrées d’index manquantes, en désinscrivant les colonnes manquantes ou en marquant comme non supprimés les objets en cours d’utilisation.

Exécution du chargé de maintenance RBS

Le stockage Blob distant nécessite de définir une chaîne de connexion à chaque base de données qui l’utilise avant d’exécuter le chargé de maintenance RBS. Cette chaîne est stockée dans un fichier de configuration dans le dossier <RBS installation path>\Microsoft SQL Remote Blob Storage 10.50\Maintainer créé normalement durant l’installation. Le chargé de maintenance RBS peut être exécuté manuellement en exécutant le programme Microsoft.Data.SqlRemoteBlobs.Maintainer.exe avec les paramètres de ligne de commande répertoriés dans l’article relatif à l’exécution du chargé de maintenance RBS.

Vous devez planifier une tâche du chargé de maintenance RBS distincte pour chaque base de données qui utilise le stockage BLOB distant. Les étapes suivantes décrivent comment planifier une tâche du chargé de maintenance RBS.

Pour planifier une tâche du chargé de maintenance RBS

  1. Vérifiez que vous disposez d’autorisations d’écriture pour le dossier où vous avez installé RBS.

  2. Ajoutez une chaîne de connexion au fichier *<répertoire_installation_RBS>\*Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config pour la tâche du chargé de maintenance RBS à exécuter. Le programme d’installation RBS crée une chaîne de connexion nommée RBSMaintainerConnection à l’aide des informations de connexion qui ont été fournies durant l’installation. Toutefois, de nouvelles chaînes de connexions doivent être ajoutées pour chaque base de données supplémentaire.

    Si vous utilisez l’authentification Windows, il n’est pas nécessaire que la chaîne de connexion soit chiffrée. Vous pouvez ajouter la chaîne de connexion non chiffrée en exécutant la commande suivante :

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

    Si vous utilisez l’authentification SQL, les chaînes de connexions du chargé de maintenance RBS sont stockées dans un format chiffré. Par conséquent, pour ajouter des chaînes de connexions, les nouvelles chaînes doivent être chiffrées ou toutes les chaînes de connexions doivent être déchiffrées. Les chaînes chiffrées doivent être ajoutées une par une. Toutefois, toutes les chaînes de connexions peuvent être déchiffrées en même temps à l’aide de l’outil %windir%\Microsoft.net\Framework\<version>\Aspnet_regiis.exe, qui est distribué dans le cadre du Microsoft .NET Framework.

    Exécutez les commandes suivantes pour déchiffrer les chaînes de connexion et stocker les résultats dans un fichier Web.config :

    rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config
    aspnet_regiis -pdf connectionStrings

    Les chaînes peuvent être ajoutées au format déchiffré et le fichier peut être chiffré et renommé Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config à l’aide des commandes suivantes :

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

  3. Créez une tâche de planificateur Windows afin d’exécuter la tâche du chargé de maintenance RBS pour chaque base de données concernée. Si vous avez exécuté le programme d’installation RBS en mode d’interface utilisateur graphique, il a créé automatiquement une tâche de planificateur Windows. En revanche, si vous l’avez exécuté en mode de ligne de commande, vous devez effectuer les étapes suivantes chaque fois que vous planifiez une tâche pour exécuter le chargé de maintenance RBS :

    1. Dans le menu Démarrer, cliquez sur Outils d’administration, puis sur Planificateur de tâches.

    2. Dans le menu Action, cliquez sur Créer une tâche.

    3. Sous l’onglet Actions, cliquez sur Nouveau.

    4. Dans la boîte de dialogue Nouvelle action, dans la liste déroulante Action, sélectionnez Démarrer un programme.

    5. Sous Paramètres, dans la zone Program/script, naviguez jusqu’au fichier binaire Maintainer <répertoire_installation_RBS>\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe puis, dans la zone de texte Ajouter des arguments (facultatif), ajoutez les arguments facultatifs de votre choix. Les valeurs par défaut suivantes sont créées par le programme d’installation :
      <-ConnectionStringName RBSMaintainerConnection>
      <-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>
      <-GarbageCollectionPhases rdo>
      <-ConsistencyCheckMode r>
      <-TimeLimit 120>

    6. Cliquez sur OK.

    7. Sous l’onglet Déclencheurs, cliquez sur Nouveau.

    8. Dans la boîte de dialogue Nouveau déclencheur, planifiez la tâche, puis cliquez sur OK. Il est recommandé de planifier la tâche de manière à ce qu’elle s’exécute durant les périodes de faible activité du système.

    9. Sous l’onglet Général, sous Sécurité, vérifiez que le compte d’utilisateur dispose des autorisations appropriées pour exécuter la tâche. Vous pouvez modifier les autorisations en cliquant sur Utilisateur ou groupe.

    10. Sous l’onglet Général, cliquez sur Exécuter même si aucun utilisateur n’a ouvert de session, puis sur OK.

See also

Vue d’ensemble de la fonctionnalité de stockage BLOB distant (RBS) dans SharePoint Server
Installation et configuration du stockage BLOB distant (RBS) avec FILESTREAM dans une batterie de serveurs SharePoint Server
Configuration d’une base de données de contenu pour utiliser le stockage RBS avec FILESTREAM dans SharePoint Server
Migrer le contenu vers ou hors de RBS dans SharePoint Server
Désactiver le stockage BLOB distant (RBS) sur des bases de données de contenu dans SharePoint Server