Back up and restore a search service application in SharePoint using VSS

Découvrez comment restaurer une application de service de recherche dans SharePoint à l’aide du service VSS (Volume Shadow Copy Service).

Conditions requises pour la sauvegarde et restauration de SharePoint avec le Service VSS

Pour programmer une solution de sauvegarde et de restauration SharePoint, vous devez comprendre le fonctionnement de VSS et l’interface SharePoint avec elle.

Le tableau 1. Concepts clés de sauvegarde et restauration de SharePoint avec le Service VSS

Article Description
Volume Shadow Copy Service et ses articles enfant. Découvrez le service VSS et comment programmer pour qu'il.
Windows SharePoint Services et le Service VSS and its child articles. Informations générales et procédures pas à pas pour la back up et la restauration de données SharePoint à l’aide du vsS et de l’interface SharePoint avec VSS.

Utiliser le Service VSS pour sauvegarder et restaurer une application de service de recherche

Les procédures suivantes sont destinées à aider les développeurs à la création d'une application de sauvegarde/restauration qui utilise le service VSS. Si vous êtes un professionnel de l’it qui recherche des instructions sur la sauvegarde ou la restauration d’une application de service de recherche SharePoint, voir Sauvegarde et restauration SharePoint.

Prérequis : Téléchargez et installez le Kit de développement logiciel Microsoft Windows pour Windows 7 et .NET Framework 4 sur le serveur à l'application de service de recherche (SSA) et à tous les serveurs avec un composant d'index de recherche. Entre autres choses, cela installera vshadow.exe et betest.exe à C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\x64\\vsstools.

Conseil : Pour plus d’informations sur Windows PowerShell cmdlets mentionnées dans cet article, voir Windows PowerShell pour SharePoint référence.

Pour inscrire l'enregistreur VSS de SharePoint et préparer les serveurs de sauvegarde et restauration

  • Inscrire l'enregistreur VSS de SharePoint avec une des méthodes suivantes :

    • Ouvrez les Services dans Outils d'administration et démarrez le service Enregistreur VSS de SharePoint.

    • Ouvrez une console de commande et exécuter stsadm.exe -o registerwsswriter. L'utilitaire stsadm se trouve dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\ BIN. Vérifiez que le service est en cours d'exécution dans les Services dans Outils d'administration.

Pour sauvegarder une application de service de recherche SharePoint à l'aide du service VSS

  1. Obtenir les métadonnées VSS en exécutant vshadow.exe -wm > writers.txt sur une ligne de commande sur chaque serveur qui contient un composant d'index ainsi que sur l'ordinateur qui exécute SQL Server où se trouvent les bases de données de recherche. Le fichier writers.txt créé répertorie tous les enregistreurs VSS associés au serveur. Vous utilisez ce fichier dans les étapes suivantes pour générer des fichiers manifeste pour l'application de service de recherche (SSA) et l'index de recherche.

  2. Suivez ces étapes pour créer un manifeste pour la SSA sur l'ordinateur qui exécute SQL Server où se trouvent les bases de données de recherche.

  3. Créez un fichier XML et copiez-y ce qui suit :

    <BETest>
      <Writer writerid="SharePoint Services Writer ID">
        <Component logicalPath="PathSSA" componentName="SearchAppOffice" />
        <Component logicalPath="PathC" componentName="SearchAppOffice_CrawlStore" />
        <Component logicalPath="PathA" componentName="SearchAppOffice_AnalyticsReportingStore" />
        <Component logicalPath="PathL" componentName="SearchAppOffice_LinksStore" />
      </Writer>
      <Writer writerid="SQL Server Writer ID">
        <Component logicalPath="PathDbSSA" componentName="SearchAppOffice" />
        <Component logicalPath="PathDbC" componentName="SearchAppOffice_CrawlStore" />
        <Component logicalPath="PathDbA" componentName="SearchAppOffice_AnalyticsReportingStore" />
        <Component logicalPath="PathDbL" componentName="SearchAppOffice_LinksStore" />
      </Writer>
    </BETest>
    
  4. Remplacez les espaces 10 réservés dans ce fichier par les valeurs appropriées à partir du fichier writer.txt que vous avez générés lors de la première étape. Appuyez-vous sur le tableau suivant.

    Notes

    [!REMARQUE] Dans la colonne de droite, SSA proprement dite est un espace réservé pour le nom de l'Application de Service de recherche.

    Le tableau 2. Espaces réservés du fichier manifeste de la SSA et les valeurs à partir de writers.txt

    Espace réservé Où les informations se trouve dans writers.txt.
    SharePoint Services Writer ID Le GUID WriterId répertoriés sous l'entrée « Enregistreur SharePoint Services »
    PathSSA L'entrée de chemin d'accès logique indiquée par le nom de l'Application de Service de recherche dans l'entrée « Enregistreur SharePoint Services »
    PathC L'entrée de chemin d'accès logique indiqué pour le composant nommé « _SSA__CrawlStore » dans l'entrée « Enregistreur SharePoint Services »
    PathA L'entrée de chemin d'accès logique indiqué pour le composant nommé « SSA _AnalyticsReportingStore » dans l'entrée « Enregistreur SharePoint Services »
    PathL L'entrée de chemin d'accès logique indiqué pour le composant nommé « _SSA__LinksStore » dans l'entrée « Enregistreur SharePoint Services »
    SQL Server Writer ID Le GUID WriterId répertoriés sous l'entrée « SqlServerWriter »
    PathDbSSA L'entrée de chemin d'accès logique indiquée pour le composant portant le nom de l'Application de Service de recherche dans l'entrée « SqlServerWriter »
    PathDbC L'entrée de chemin d'accès logique indiqué pour le composant nommé « _SSA__CrawlStore » dans l'entrée « SqlServerWriter »
    PathDbA L'entrée de chemin d'accès logique indiqué pour le composant nommé « _SSA__AnalyticsReportingStore » dans l'entrée « SqlServerWriter »
    PathDbL L'entrée de chemin d'accès logique indiqué pour le composant nommé « _SSA__LinksStore » dans l'entrée « SqlServerWriter »

    Il s’agit du fichier manifeste SSA. Pour obtenir un exemple de fichier manifeste SSA terminé, voir exemple de fichiers manifeste.

  5. Suivez ces étapes pour créer un manifeste pour la recherche de fichiers d'index. Répétez ces étapes sur chaque serveur qui dispose d'un composant d'index.

  6. Créez un fichier XML et copiez-y ce qui suit :

    <BETest>
      <Writer writerid="SharePoint Services Writer ID">
          <Component logicalPath="PathIndex" componentName="NameIndex" />
      </Writer>
      <Writer writerid="OSearch15 Writer ID">
          <Component logicalPath="PathOSearch15" componentName="IndexComponentGroup" />
      </Writer>    
    </BETest>
    
  7. Remplacez les espaces réservés de six dans ce fichier par les valeurs appropriées à partir du fichier writer.txt que vous avez générés lors de la première étape. Appuyez-vous sur le tableau suivant.

    Le tableau 3. Espaces réservés fichier manifeste d'index de recherche et les valeurs à partir de writer.txt

    Espace réservé Où se trouve l'information dans writers.txt
    SharePoint Services Writer ID
    Le GUID WriterId répertoriés sous l'entrée « Enregistreur SharePoint Services »
    PathIndex
    L'entrée de chemin d'accès logique indiquée pour le composant dont le nom commence par « IndexComponentGroup » dans l'entrée « Enregistreur SharePoint Services »
    NameIndex
    L'entrée du nom indiquée pour le composant dont le nom commence par « IndexComponentGroup » dans l'entrée « Enregistreur SharePoint Services »
    OSearch15 Writer ID
    Le GUID WriterId répertoriés sous l'entrée « OSearch15 rédacteur »
    PathOSearch15
    L'entrée de chemin d'accès logique indiquée pour le composant dont le nom commence par « IndexComponentGroup » dans l'entrée « OSearch15 rédacteur ». Il est normalement vide.
    IndexComponentGroup
    L'entrée du nom indiquée pour le composant dont le nom commence par « IndexComponentGroup » dans l'entrée « OSearch15 rédacteur »

    Il s’agit du fichier manifeste de l’index de recherche. Pour obtenir un exemple de fichier manifeste d’index de recherche terminé, voir exemple de fichiers manifeste.

  8. (Facultatif) Enregistrez les tailles des dossiers IndexComponent sur chaque serveur qui contient un composant d'index. Vous pouvez utiliser ces informations ultérieurement pour vérifier que la sauvegarde.

  9. Sur n'importe quel serveur de la batterie de serveurs, ouvrez le SharePoint Management Shell et exécuter les lignes suivantes, où name of search service application est la SSA que vous souhaitez sauvegarder. Laissez la fenêtre SharePoint Management Shell ouvert par la suite.

    $ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application"
    Suspend-SPEnterpriseSearchServiceApplication -Identity $ssa
    
  10. Effectuer des sauvegardes de bases de données des SSA et l'index en procédant comme suit :

  11. Sur le serveur avec les bases de données SSA, exécutez la commande suivante sur la ligne de commande, où destination backup folder est le chemin d'accès complet du dossier pour les fichiers de sauvegarde, backup log file est le chemin d'accès complet et le nom du fichier journal de sauvegarde et SSA manifest file est le chemin d'accès et le nom du fichier de manifeste SSA.

    betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "SSA manifest file"
    
  12. Sur le serveur à la fenêtre ouverte SharePoint Management Shell, exécutez la ligne suivante, où topology file name est le chemin d'accès complet et le nom du fichier exporté contenant les informations de topologie. Vous utiliserez ce fichier dans la procédure de restauration de la SSA.

    Export-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename "topology file name"
    
  13. Vérifiez que le fichier est créé.

  14. Sur chaque serveur qui dispose d'un composant d'index, exécutez la commande suivante sur la ligne de commande, où destination backup folder est le chemin d'accès complet du dossier pour les fichiers de sauvegarde, backup log file est le chemin d'accès complet et le nom du fichier journal de sauvegarde et index manifest file est le chemin d'accès et le nom du manifeste de l'index.

    betest.exe /v /b /d "destination backup folder" /s "backup log file" /x "index manifest file"
    
  15. (Facultatif) Vérifiez que les dossiers d'index qui ont été sauvegardés. Vérifiez que les tailles et noms de dossiers correspondent à ceux enregistrés à l'étape précédente.

Pour restaurer une application de service de recherche SharePoint à l'aide du service VSS

  1. Sur n'importe quel serveur de la batterie de serveurs, ouvrez le SharePoint Management Shell et exécuter les lignes suivantes pour supprimer l'application de service de recherche existante et son proxy, où name of search service application est la SSA que vous souhaitez restaurer et name of proxy son proxy d'application. Notez que name of SSA proxy est généralement le même que le nom de la SSA avec le mot « Proxy » est ajouté à la fin. Le commutateur RemoveData garantit que les bases de données de recherche sont supprimés.

    $ssa = Get-SPEnterpriseSearchServiceApplication -Identity "name of search service application"
    Remove-SPEnterpriseSearchServiceApplication -Identity $ssa -RemoveData
    Remove-SPEnterpriseSearchServiceApplicationProxy -Identity "name of SSA proxy"
    
  2. Sur le même serveur, exécutez la commande suivante sur la ligne de commande pour restaurer les bases de données SSA, où destination backup folder est le chemin d'accès complet du dossier pour les fichiers de sauvegarde, backup log file est le chemin d'accès complet et le nom du fichier journal de sauvegarde et SSA manifest file est le chemin d'accès et le nom du fichier de manifeste SSA.

    betest.exe /v /r /d "destination backup folder" /s "backup log file" /x SSA_manifest_file
    
  3. Sur le même serveur, ouvrez une SharePoint Management Shell et exécuter les lignes suivantes pour restaurer la SSA, où application pool name est le nom du nouveau pool, domain\user est le nom de domaine de l'utilisateur que le pool d'applications se connecte en tant que, name of the search service application est le nom de la SSA et topology_file_name est le chemin d'accès et le nom du fichier typologie que vous avez créé lors de la SSA a été sauvegardée.

    Conseil

    [!CONSEIL] Ce code crée une nouvelle identité de pool d'applications pour exécuter la SSA restaurée, mais vous pouvez également utiliser un compte existant avec l'applet de commande Get-SPServiceApplicationPool.

    $applicationPool = New-SPServiceApplicationPool -name "application pool name" -account "domain\\user"
    Restore-SPEnterpriseSearchServiceApplication -Name "name of the search service application" -ApplicationPool $applicationPool -TopologyFile "topology_file_name" -KeepId
    
  4. Créer un proxy pour la SSA avec les applets de commande suivantes. Nous vous recommandons d'utiliser les mêmes valeurs pour name of the search service application et name of SSA proxy que vous avez utilisé à l'étape 1.

    $ssa = Get-SpenterpriseSearchServiceApplication -Identity "name of search service application"
    New-SPEnterpriseSearchServiceApplicationProxy -Name "name of SSA proxy" -SearchApplication $ssa
    
  5. (Facultatif) Vérifiez que la SSA et son proxy existent en ouvrant L'Administration centrale. Cliquez sur Gérer les Applications de Service et vérifiez que la SSA et son proxy sont répertoriés.

  6. (Facultatif) Cliquez sur la SSA figurant dans la liste des services, puis, dans la page qui s'ouvre, vérifiez que le tableau de La topologie de recherche correspond à la typologie que vous avez exporté dans la procédure de sauvegarde. (Vous pouvez également vérifier la topologie avec l' applet de commande Get-SPEnterpriseSearchStatus).

  7. Restaurez les fichiers d'index par le suivant procédure sur tous les serveurs avec les composants d'index.

  8. Arrêter le contrôleur d'hôte de service dans Outils d'administration > Services, ou en exécutant l'applet de commande suivante dans SharePoint Management Shell:

    stop-service SPSearchHostController
    
  9. Sur les mêmes serveurs, exécutez la commande suivante sur la ligne de commande, où index manifest file est le nom de fichier et chemin d'accès au manifeste d'index que vous avez créé dans la procédure de sauvegarde.

    betest.exe /v /r /d "destination backup folder" /s "backup log file" /x "index manifest file"
    
  10. (Facultatif) Vérifiez que les noms de dossiers et les tailles correspondent à ceux que vous avez enregistré dans la procédure de sauvegarde.

  11. Pour chaque composant d'index, renommez les données sous le dossier de données en suivant ces étapes :

  12. Dans SharePoint Management Shell, exécutez l'applet de commande suivante :

    Get-SPEnterpriseSearchVssDataPath
    
  13. À partir de la sortie de l'applet de commande, enregistrez la dernière partie de chaque GUID. Par exemple, si une seule ligne de sortie est IndexComponentGroup_e255918b-6ab0-4d7c-8049-720b2744c62f, enregistrez 720b2744c62f.

  14. Dans l'Explorateur de fichiers (ou L'Explorateur Windows sur Windows Server 2008), accédez à C:\\Program Files\\Microsoft Office Servers\\15.0\\Data\\Office Server\\Applications\\Search\\Nodes\\24488A\\IndexComponentN\\storage\\data, où N est le nombre d'un composant d'index.

  15. Chacun de ces dossiers a un sous-dossier dont le nom commence par « SP » suivi par 12 chiffres hexadécimaux suivies d'un numéro de version. Pour chacun de ces sous-dossiers où les 12 chiffres hexadécimaux correspond à l'une des terminaisons GUID que vous avez enregistré à l'étape précédente, renommez le sous-dossier importindex. Dans l'exemple, vous renommez le sous-dossier SP720b2744c62f.1.I.1.0 enimportindex.

  16. Redémarrer le contrôleur d'hôte de service dans Outils d'administration > Services, ou en exécutant l'applet de commande suivante dans SharePoint Management Shell:

    start-service SPSearchHostController
    
  17. Vérifiez que les noms de dossier de données index ont reprennent leur nom précédent. (Dans l'exemple, il s'agit "'SP720b2744c62f.1.I.1.0 ».)

  18. (Facultatif) Vérifiez que les tailles des dossiers de IndexComponent correspond à la taille que vous avez enregistrées dans la procédure de sauvegarde.

  19. Redémarrez la SSA.

  20. Sur tous les serveurs concernés, exécutez l'applet de commande suivante dans SharePoint Management Shell afin de vérifier que le service d'application de recherche s'exécute correctement :

    Get-SPEnterpriseSearchStatus
    
  21. Vérifiez que l'alimentation et de la recherche pour les nouveaux documents fonctionnent. Par exemple, vérifiez la taille de l'index à l'aide de la requête « taille > = 0". Également ajouter un nouveau document et vérifiez qu'elle est utilisable dans une requête.

Exemples de fichiers manifeste

Fichier de manifeste SSA

<BETest>
  <Writer writerid="da452614-4858-5e53-a512-38aab25c61ad">
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\2e1f9435-d714-4bcb-be8d-ae1214e2ea22" componentName="SearchAppOffice" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\b8bb09b8-a823-43b0-a131-7bd5464f91fb" componentName="SearchAppOffice_CrawlStore" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\20c0c0b5-2086-4b16-8ce8-2cecb5186ebe" componentName="SearchAppOffice_AnalyticsReportingStore" />
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\15004c47-21ca-441e-80fe-9e068ef4ad14" componentName="SearchAppOffice_LinksStore" />
  </Writer>
  <Writer writerid="a65faa63-5ea8-4ebc-9dbd-a0c4db26912a">
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_CrawlStore" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_AnalyticsReportingStore" />
    <Component logicalPath="DDDVSS4\\SQLEXPRESS" componentName="SearchAppOffice_LinksStore" />
  </Writer>
</BETest>

Fichier de manifeste d'index

<BETest>
  <Writer writerid="da452614-4858-5e53-a512-38aab25c61ad">
    <Component logicalPath="3bca1050-c15a-4987-93dc-8f911d35a0ba\\cfbddb07-2409-4b3d-997b-ee1b936c3dbd" componentName="IndexComponentGroup_3bca1050-c15a-4987-93dc-8f911d35a0ba" />
  </Writer>
  <Writer writerid="0ff1ce15-0201-0000-0000-000000000000">
    <Component logicalPath="" componentName="IndexComponentGroup_3bca1050-c15a-4987-93dc-8f911d35a0ba" />
  </Writer>
</BETest>

Voir aussi