Gérer le stockage BLOB distant (SharePoint Server 2010)

 

S’applique à : SharePoint Foundation 2010, SharePoint Server 2010

Dernière rubrique modifiée : 2016-11-30

Cet article explique comment effectuer des tâches de maintenance associées aux stockage BLOB distant (RBS) dans Microsoft SharePoint Server 2010.

Vous effectuez la plupart des tâches de maintenance associées à RBS dans SharePoint Server 2010 à l’aide du chargé de maintenance RBS, outil disponible dans Microsoft 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 2010. 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.

Dans cet article :

  • Garbage collection

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

  • Exécution du chargé de maintenance RBS

Garbage collection

SharePoint Server 2010 marque automatiquement pour la suppression les données BLOB supprimées ou non référencées. SharePoint Server 2010 calcule le nombre de références aux objets BLOB en consultant la liste des ID d’objet BLOB stockés par SharePoint Server 2010 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 2010 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 2010 et seront marqués pour la suppression.

Étant donné que SharePoint Server 2010 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 2010 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 garbage collection 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 2010 aux 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 garbage collection RBS

Vous pouvez configurer le garbage collection 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 de sorte que son activité ait un impact minimal sur l’activité ordinaire. Pour plus d’informations sur les paramètres de garbage collection de base de données, notamment sur leur configuration, voir Exécution du chargé de maintenance RBS (https://go.microsoft.com/fwlink/?linkid=199638&clcid=0x40C) (éventuellement en anglais).

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 2010 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 2010 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 <chemin_accès_installation_RBS>\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 répertoriés dans le tableau suivant :

Nom du paramètre Description Valeurs Obligatoire ?

ConnectionStringName <nom_chaîne>

Nom de la chaîne de connexion pour le fichier de configuration.

RBSMaintainerConnection est le nom par défaut créé durant l’installation du stockage BLOB distant.

Oui

Operation <liste d’opérations à effectuer séparées par un espace>

Opération de garbage collection à effectuer. Ce paramètre prend d’un à quatre arguments. La valeur de ForceFinalize ne peut pas être utilisée conjointement avec une autre opération.

ConsistencyCheck

GarbageCollection

Maintenance

ConsistencyCheckForStores

ForceFinalize

Oui

GarbageCollectionPhases <phases>

Phases de garbage collection à effectuer. Ce paramètre sert à exécuter ou achever le garbage collection. La valeur doit être une ou plusieurs lettres sans espace.

r — Analyse de référence.

d — Supprimer la propagation.

o — Nettoyage orphelin.

Oui, si le garbage collection doit être effectué.

ConsistencyCheckMode <c, r ou b>

Spécifie le type de vérification de cohérence à effectuer.

c — Seule une vérification est effectuée.

r  — Une vérification est effectuée et tout problème détecté sera réparé.

b  — Une vérification, réparation et reconstruction des structures de données internes sont effectuées.

Oui, si une vérification de cohérence doit être effectuée.

ConsistencyCheckExtent <m ou c>

Spécifie l’étendue de la vérification de cohérence.

m — Seules les métadonnées sont vérifiées ; les objets BLOB proprement dits ne sont pas vérifiés. Il s’agit du paramètre par défaut.

c — Une vérification complète est effectuée.

Si aucune valeur n’est fournie, m est utilisé par défaut.

ConsistencyCheckForStores <liste de noms de magasins d’objets BLOB séparés par un espace>

Répertorie les noms des magasins d’objets BLOB dont la cohérence sera vérifiée.

Par défaut, tous les magasins d’objets BLOB sont vérifiés.

Non

TimeLimit <durée en minutes>

Spécifie la durée allouée au chargé de maintenance RBS pour exécuter ses tâches. L’argument doit être un entier positif.

Non

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

Concepts

Vue d’ensemble du stockage BLOB distant (SharePoint Server 2010)
Planifier le stockage BLOB distant (RBS) (SharePoint Server 2010)
Installer et configurer le stockage BLOB distant (RBS) (SharePoint Server 2010)
Installer et configurer le stockage étendu des objets blob (RBS) sans le fournisseur FILESTREAM (SharePoint Server 2010)
Définir une base de données de contenu de manière à utiliser le stockage BLOB distant (RBS) (SharePoint Server 2010)
Migrer du contenu dans RBS ou hors de RBS (SharePoint Server 2010)
Désactiver le stockage BLOB (Remote BLOB Storage) sur une base de données de contenu (SharePoint Server 2010)

Other Resources

Bases de données SQL Server et SharePoint Server 2010 (https://go.microsoft.com/fwlink/?linkid=199866&clcid=0x40C) (éventuellement en anglais)