Partager via


Déplacer des bases de données de contenu dans SharePoint Server

S’APPLIQUE À :oui-img-132013 oui-img-162016 oui-img-192019 no-seSharePoint dans Microsoft 365

Cet article explique comment déplacer des bases de données de contenu entre des serveurs qui exécutent SQL Server, entre des instances de SQL Server ou depuis une application web SharePoint Server vers une autre.

Importante

Cet article décrit uniquement comment déplacer des bases de données de contenu. Pour plus d'informations sur le déplacement d'autres types de bases de données associées à SharePoint Server, voir Déplacer ou renommer des bases de données d'application de service dans SharePoint et Déplacer toutes les bases de données dans SharePoint Server.

Vous pouvez déplacer des bases de contenu à l'aide du le site Web Administration centrale de SharePoint ou de Microsoft PowerShell, ainsi que des outils SQL Server. L'outil que vous utilisez dépend du type d'environnement que vous avez déployé, des exigences de votre planification et des contrats de niveau de service que vous avez établis avec votre organisation.

Avant de commencer

Avant de commencer cette opération, déplacer une base de données de contenu, examinez les tâches suivantes. Chaque tâche est une procédure à effectuer dans l'ordre indiqué. Notez que lorsque vous déplacez des bases de données de contenu, vous devez utiliser à la fois les outils SharePoint Server et les outils SQL Server. Vous pouvez utiliser soit l'Administration centrale, soit Windows PowerShell 3.0 pour cette opération.

  1. Prenez note du nom de la base de données de contenu et de l’application web à laquelle elle est associée.

  2. Interrompez tous les services et applications de service qui peuvent s’exécuter par rapport à la base de données de contenu, y compris les travaux du minuteur et les analyses de recherche.

  3. Supprimez la base de données de contenu SharePoint Server de l'application web.

  4. Détachez la base de données de contenu de l'instance SQL Server actuelle.

    Importante

    Pour déplacer des fichiers de base de données de contenu au sein de la même instance SQL Server, nous vous recommandons d'utiliser la clause FILENAME de l'instruction ALTER DATABASE. Pour plus d'informations, voir Déplacer des bases de données utilisateur.

    Importante

    Pour déplacer une base de données de contenu vers une autre instance de SQL Server ou un autre serveur, nous vous recommandons de suivre les procédures des articles Attacher et détacher une base de données (SQL Server) ou Sauvegarde et restauration des bases de données SQL Server.

  5. Copiez ou déplacez les fichiers .mdf, .ndf et .ldf de la base de données de contenu depuis l’emplacement source vers l’emplacement de destination à l’aide de l’Explorateur de fichiers.

  6. Attachez la base de données de contenu à la nouvelle instance SQL Server.

  7. Ajoutez la base de données de contenu à l'application web de destination dans SharePoint Server.

    Importante

    Utilisez le même nom lorsque vous ajoutez la base de données de contenu ou que SharePoint Server en crée une.

  8. Redémarrez toutes les applications de service et les services que vous avez interrompus à l’étape 2.

Déplacement de bases de données de contenu à l’aide de l’Administration centrale

Utilisez la procédure suivante pour déplacer les bases de données de contenu dans votre batterie de serveurs SharePoint Server à l'aide de l'Administration centrale.

Les procédures de cette section utilisent l'Administration centrale pour déplacer des bases de données de contenu. Toutefois, lorsque vous effectuez les procédures suivantes, vous devez utiliser l'outil approprié :

  1. Pour enregistrer les bases de données de contenu associées à chaque application web - PowerShell

  2. Pour détacher les bases de données de contenu de SQL Server - Outils SQL Server

  3. Pour déplacer les bases de données de contenu vers un nouvel emplacement : Explorateur de fichiers ou Explorateur Windows

  4. Pour attacher les bases de données de contenu à la nouvelle instance de SQL Server - OUTILS SQL Server

Notes

[!REMARQUE] Les procédures de cette section utilisent l'Administration centrale pour déplacer des bases de données de contenu. Toutefois, la première procédure doit être effectuée à l'aide de PowerShell.

[!REMARQUE] Si vous déplacez une base de données de contenu dans une autre batterie de serveurs, le compte de cette dernière doit devenir membre du groupe Administrateurs sur le serveur de base de données lors du processus de restauration. Cela permet au compte de répliquer le paramètre de sécurité pour les bases de données. Ce niveau d'accès peut être supprimé une fois la base de données de contenu déplacée. Pour plus d'informations, voir Autorisations de compte et paramètres de sécurité dans SharePoint Server 2016.

La batterie de destination doit exécuter la même version de SharePoint Server que la batterie source ou une version postérieure.

1. Pour enregistrer les bases de données de contenu qui sont associées à chaque application web

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

Où : <http://SiteName> est l’URL de l’application web.

Notes

[!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

2. Pour interrompre le travail du minuteur à l’aide de l’Administration centrale

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure est membre du groupe SharePoint Administrateurs de batterie.

  2. Dans Administration centrale, dans la section Analyse, cliquez sur Vérifier l'état du travail.

  3. Pour chaque travail planifié qui s'exécute contre la base de données de contenu que vous déplacez, cliquez sur le travail pour ouvrir la page Modifier le travail du minuteur, cliquez sur Désactiver, puis sur OK.

3. Pour détacher les bases de données de contenu d'une application web à l'aide de l'Administration centrale

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure est membre du groupe SharePoint Administrateurs de batterie.

  2. Dans Administration centrale, dans la section Gestion des applications, cliquez sur Gérer les bases de données de contenu.

  3. Dans la page Gérer les bases de données de contenu, cliquez sur la base de données de contenu que vous souhaitez déplacer.

    La page Gérer les paramètres de la base de données de contenu apparaît.

    Notes

    [!REMARQUE] Si la base de données de contenu n'est pas répertoriée dans la liste, il se peut qu'elle soit associée à une autre application web. Pour sélectionner une autre application web, dans le menu Application web, cliquez sur Modifier l'application web.

  4. Dans la page Gérer les paramètres de la base de données de contenu, dans la section Supprimer la base de données de contenu, activez la case à cocher Supprimer la base de données de contenu, puis cliquez sur OK.

    Notes

    [!REMARQUE] La suppression de la base de données de contenu n'entraîne pas la suppression de la base de données. Cela ne fait que supprimer l'association de la base de données avec l'application web.

  5. Répétez les étapes 3 et 4 pour chaque base de données de contenu à déplacer.

4. Pour détacher les bases de données de contenu de SQL Server

  1. Vérifiez que le compte d'utilisateur qui exécute cette procédure est membre du rôle de base de données fixe db_owner sur le serveur de base de données où chaque base de données est stockée.

  2. Dans SQL Server Management Studio, ouvrez l'instance de SQL Server source, puis développez le nœud Bases de données.

  3. Cliquez avec le bouton droit sur la base de données de contenu, pointez sur Tâches, puis cliquez sur Détacher. Répétez cette étape pour chaque base de données de contenu que vous souhaitez déplacer.

    Notes

    [!REMARQUE] Appliquez cette procédure pour déplacer uniquement des bases de données de contenu. Ne détachez aucun autre type de base de données.

5. Pour déplacer les bases de données de contenu vers un nouvel emplacement

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure dispose d’un accès en écriture aux dossiers source et de destination.

  2. À l’aide de l’Explorateur de fichiers, recherchez les fichiers .mdf, .ldf et .ndf des bases de données de contenu.

  3. Sélectionnez les fichiers .mdf, .ldf et .ndf de la base de données que vous souhaitez déplacer et copiez ou déplacez-les vers le répertoire de destination.

6. Pour attacher les bases de données de contenu à la nouvelle instance de SQL Server

  1. Vérifiez que le compte d'utilisateur qui exécute cette procédure est membre du rôle serveur fixe dbcreator sur le serveur de base de données où chaque base de données est stockée.

  2. Dans Management Studio, ouvrez l'instance de SQL Server de destination.

  3. Cliquez avec le bouton droit sur le nœud Bases de données, pointez sur Tâches, puis cliquez sur Attacher.

  4. Dans la boîte de dialogue Joindre une base de données , accédez à l’emplacement où vous avez transféré les fichiers .mdf, .ldf et .ndf, sélectionnez le fichier .mdf de la base de données à joindre, puis cliquez sur OK.

  5. Répétez l’opération pour chaque base de données de contenu que vous déplacez.

7. Pour attacher les bases de données de contenu à l'application web à l'aide de l'Administration centrale

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure est membre du groupe Administrateurs de batterie.

  2. Dans Administration centrale, dans la section Gestion des applications, cliquez sur Gérer les bases de données de contenu.

  3. Dans la page Gérer les bases de données de contenu, cliquez sur Ajouter une base de données de contenu.

  4. Dans la page Ajouter une base de données de contenu, vérifiez que le menu Application web affiche l'application web correcte.

  5. Dans la zone Serveur, spécifiez le serveur de base de données qui héberge la base de données.

  6. Dans la zone Nom de la base de données, tapez le nom exact de la base de données de contenu transféré.

    Notes

    Vérifiez que le nom est correct. Si ce n’est pas le cas, une nouvelle base de données est créée.

  7. Spécifiez le mode d'authentification pour la base de données, puis cliquez sur OK.

  8. Répétez ces étapes pour chaque base de données que vous ajoutez. Assurez-vous de sélectionner l'application web correcte dans le menu Application web pour chaque base de données.

8. Pour redémarrer des travaux du minuteur à l'aide de l'Administration centrale

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure est membre du groupe Administrateurs de batterie.

  2. Dans Administration centrale, dans la section Analyse, cliquez sur Vérifier l'état du travail.

  3. Pour chaque travail planifié que vous avez précédemment désactivé, cliquez sur le travail pour ouvrir la page Modifier le travail du minuteur, cliquez sur Activer, puis sur OK.

Déplacement de bases de données de contenu à l'aide de PowerShell

Effectuez la procédure suivante pour déplacer les bases de données de contenu dans votre batterie de serveurs SharePoint Server à l'aide de PowerShell.

Les procédures de cette section utilisent l'PowerShell pour déplacer des bases de données de contenu. Toutefois, lorsque vous effectuez les procédures suivantes, vous devez utiliser l'outil approprié :

  • Pour détacher les bases de données de contenu de SQL Server - Outils SQL Server

  • Pour déplacer les bases de données de contenu vers un nouvel emplacement - Explorateur de fichiers

  • Pour attacher les bases de données de contenu à la nouvelle instance de SQL Server - OUTILS SQL Server

Notes

[!REMARQUE] Si vous déplacez une base de données de contenu vers une autre batterie, vous devez faire du compte de batterie de serveurs un membre du groupe Administrateurs sur le serveur de base de données durant le processus de restauration. Cela permet au compte de répliquer le paramètre de sécurité pour les bases de données. Ce niveau d'accès peut être supprimé une fois la base de données de contenu déplacée.

La batterie de destination doit exécuter la même version de SharePoint Server que la batterie source ou une version postérieure.

1. Pour enregistrer les bases de données de contenu qui sont associées à chaque application web

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

    Où : <http://SiteName> est l’URL de l’application web.

Pour plus d'informations, voir Get-SPContentDatabase

Notes

[!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

2. Pour suspendre des travaux du minuteur à l’aide de PowerShell

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii
    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }
    

    Où :

    • <http://WebApplicationURL> est l'application web associée à la base de données de contenu que vous déplacez.

    • <c:\timerjobfile.txt> est l'emplacement du fichier que vous créez qui répertorie tous les travaux du minuteur associés à l'application web.

Pour plus d'informations, voir Get-SPTimerJob, Out-File, ForEach-Object, Get-Content et Disable-SPTimerJob.

Notes

[!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

3. Pour détacher les bases de données de contenu d’une application web à l’aide de PowerShell

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    Dismount-SPContentDatabase "<ContentDB>"
    

    Où : <ContentDB> est le nom de la base de données de contenu.

    Notes

    [!REMARQUE] Si plusieurs bases de données de contenu portent le même nom, vous devez utiliser dans cette commande le GUID de la base de données de contenu au lieu de son nom. Pour récupérer le GUID de la base de données de contenu, exécutez l'applet de commande Get-SPContentDatabase sans argument.

    Pour plus d’informations, reportez-vous aux articles Dismount-SPContentDatabase et Get-SPContentDatabase.

    Notes

    [!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

4. Pour détacher les bases de données de contenu à partir de SQL Server

  1. Vérifiez que le compte d'utilisateur qui exécute cette procédure est membre du rôle de base de données fixe db_owner sur le serveur de base de données où chaque base de données est stockée.

  2. Dans Management Studio, ouvrez l'instance de SQL Server source, puis développez le nœud Bases de données.

  3. Cliquez avec le bouton droit sur la base de données de contenu, pointez sur Tâches, puis cliquez sur Détacher. Répétez cette étape pour chaque base de données de contenu que vous souhaitez déplacer.

Notes

[!REMARQUE] Appliquez cette procédure pour déplacer uniquement des bases de données de contenu. Ne détachez aucun autre type de base de données.

5. Pour déplacer les bases de données de contenu vers un nouvel emplacement

  1. Vérifiez que le compte d’utilisateur qui exécute cette procédure dispose d’un accès en écriture aux dossiers source et de destination.

  2. À l’aide de l’Explorateur de fichiers, recherchez les fichiers .mdf, .ldf et .ndf des bases de données de contenu.

  3. Sélectionnez les fichiers .mdf, .ldf et .ndf de la base de données que vous souhaitez déplacer et copiez ou déplacez-les vers le répertoire de destination.

6. Pour attacher les bases de données de contenu à la nouvelle instance de SQL Server

  1. Vérifiez que le compte d'utilisateur qui exécute cette procédure est membre du rôle serveur fixe dbcreator sur le serveur de base de données où chaque base de données est stockée.

  2. Dans Management Studio, ouvrez l'instance de SQL Server de destination.

  3. Cliquez avec le bouton droit sur le nœud Bases de données, pointez sur Tâches, puis cliquez sur Attacher.

  4. Dans la boîte de dialogue Joindre une base de données , accédez à l’emplacement où vous avez transféré les fichiers .mdf, .ldf et .ndf, sélectionnez le fichier .mdf de la base de données à joindre, puis cliquez sur OK.

  5. Répétez l’opération pour chaque base de données de contenu que vous déplacez.

7. Pour attacher les bases de données de contenu d'une application web à l'aide de PowerShell

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
    

    Où :

    • <ContentDB> est le nom de la base de données de contenu à attacher ;

    • <DBServer> est le nom du serveur de base de données ;

    • <http://SiteName> est l'URL de l'application web à laquelle la base de données de contenu est attachée.

Pour plus d'informations, voir Mount-SPContentDatabase.

Notes

[!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

8. Pour redémarrer des travaux du minuteur à l’aide de PowerShell

  1. Vérifiez que vous êtes membre :

    • du rôle serveur fixe securityadmin sur l'instance SQL Server.

    • du rôle de base de données fixe db_owner sur toutes les bases de données à mettre à jour ;

    • du groupe Administrateurs sur le serveur sur lequel vous exécutez les applets de commande PowerShell.

    • Les rôles serveur fixes dbcreator et securityadmin sur le serveur de destination, afin d'attacher la base de données et de configurer des connexions SQL Server.

    Un administrateur peut utiliser la cmdlet Add-SPShellAdmin pour accorder les autorisations d'utilisation des cmdlets SharePoint Server.

    Notes

    [!REMARQUE] Si vous ne disposez pas des autorisations, contactez votre administrateur d'installation ou votre administrateur SQL Server afin de les demander. Pour plus d'informations sur les autorisations PowerShell, voir Add-SPShellAdmin.

  2. Démarrez SharePoint Management Shell.

  3. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
    

Où : <c:\timerjobfile.txt> est l’emplacement du fichier que vous avez créé qui répertorie tous les travaux du minuteur associés à l’application web.

Pour plus d'informations, voir Get-SPTimerJob, ForEach-Object, Get-Content et Enable-SPTimerJob.

Notes

[!REMARQUE] Nous vous recommandons d'utiliser Windows PowerShell pour les tâches d'administration en ligne de commande. L’outil en ligne de commande Stsadm a été abandonné, mais il est inclus pour assurer la compatibilité avec les versions précédentes.

Voir aussi

Concepts

Déplacer toutes les bases de données dans SharePoint Server