Déplacer des collections de sites entre des bases de données dans SharePoint Server
S’APPLIQUE À :2013 2016 2019 Édition d’abonnement SharePoint dans Microsoft 365
Dans certaines circonstances, vous pouvez déplacer une ou plusieurs collections de sites vers une autre base de données de contenu. Par exemple, une collection de sites peut atteindre une taille trop importante pour la base de données de contenu qui l'héberge et vous devez la déplacer vers une base de données de contenu plus grande. Dans SharePoint Server, cette procédure doit s'envisager comme le déplacement de la collection de sites vers une base de données plus grande.
Néanmoins, si les collections de sites n'atteignent pas leur taille escomptée, vous pouvez, pour des raisons pratiques, combiner plusieurs collections de sites dans une même base de données de contenu. Dans SharePoint Server, ce processus n'entraîne pas la fusion des bases de données de contenu puisque que les collections de sites sont déplacées et jointes à une nouvelle base de données à la place.
Vous pouvez déplacer des collections de sites entre des bases de données au sein d'une batterie de serveurs SharePoint Server à l'aide de Microsoft PowerShell. Vous pouvez également déplacer des collections de sites à l'aide des procédures de sauvegarde et de restauration. Pour plus d'informations sur ces procédures, voir Sauvegarder une collection de sites dans SharePoint Server et Restaurer des collections de sites dans SharePoint Server.
Avant de commencer
Pour que cette opération puisse débuter, les conditions suivantes doivent être satisfaites :
La base de données de contenu de destination doit déjà exister.
La base de données de contenu source et la base de données de contenu de destination doivent figurer dans la même instance SQL Server.
La base de données de contenu source et la base de données de contenu de destination doivent être jointes à la même application web. Pour plus d'informations sur l'ajout d'une base de données de contenu à une application web, voir Ajouter des bases de données de contenu dans SharePoint Server.
Détermination de la taille de la collection de sites source
Quand vous déplacez des collections de sites vers une autre base de données de contenu, les données d’audit sont copiées. La taille des données d'audit varie selon les paramètres de collecte d'événements de la collection de sites. Si le volume de données d'audit est important, vous pouvez déplacer les données vers une autre base de données avant de déplacer la collection de sites. Pour cela, effectuez la procédure Pour archiver et découper des données d'audit à l'aide de Microsoft PowerShell.
Quelle que soit la raison qui vous incite à déplacer une collection de sites, vous devez toujours débuter la tâche en déterminant la taille de la collection de sites à déplacer. Vous aurez alors la certitude que le disque dur de destination dispose d'un espace suffisant pour le contenu de la collection. Vérifiez que le disque dur de destination est doté d'au moins trois fois l'espace requis pour la collection de sites.
Conseil
Vous pouvez vous tenir régulièrement informé de l’espace utilisé par les collections de sites en créant des quotas de site et des alertes par courrier électronique.
Pour déterminer la taille de la collection de sites à l'aide de PowerShell
- 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.
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.
Démarrez SharePoint Management Shell.
À l'invite de commandes PowerShell, tapez les commandes suivantes :
$used = (Get-SPSiteAdministration -Identity <http://ServerName/Sites/SiteName>).DiskUsed
$used
Où :
- <http://ServerName/Sites/SiteName> est le nom de la collection de sites.
La quantité d’espace disque utilisée par la collection de sites spécifiée est stockée dans la variable $used et affichée à l’invite de commandes lors de l’exécution de la deuxième commande.
Notes
La quantité d’espace disque affichée n’inclut pas l’espace disque consommé par les données d’audit qui seront déplacées avec la collection de sites.
Pour plus d’informations, voir Get-SPSiteAdministration.
Pour archiver et découper des données d’audit à l’aide de PowerShell
- Vérifiez que vous êtes membre des éléments suivants :
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.
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.
Démarrez SharePoint Management Shell.
À partir de l’invite de commandes PowerShell, entrez la commande suivante :
(Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.TrimAuditLog(deleteEndDate)
Où :
- <http://ServerName/Sites/SiteName> est le nom de la collection de sites.
Pour supprimer les données d’audit sans les archiver au préalable, tapez la commande suivante :
(Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.DeleteEntries(deleteEndDate)
Pour plus d'informations, voir Get-SPSite.
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.
Déplacement des collections de sites entre des bases de données de contenu
Vous pouvez utiliser la commande PowerShell Move-SPSite pour déplacer des collections de sites entre des bases de données de contenu. Deux procédures sont fournies ici. La première procédure déplace une collection de sites unique vers une nouvelle base de données de contenu ; la seconde déplace plusieurs collections de sites vers une nouvelle base de données de contenu.
Pour déplacer une collection de sites unique, procédez comme suit :
- 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.
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.
Démarrez SharePoint Management Shell.
À partir de l’invite de commandes PowerShell, entrez la commande suivante :
Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
Où :
<http://ServerName/Sites/SiteName> est le nom de la collection de sites.
<DestinationContentDb> est le nom de la base de données de contenu de destination.
Pour déplacer plusieurs collections de sites
- 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.
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.
Démarrez SharePoint Management Shell.
À partir de l’invite de commandes PowerShell, entrez la commande suivante :
Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>
Où :
<SourceContentDb> est le nom de la base de données de contenu d'origine.
<DestinationContentDb> est le nom de la base de données de contenu de destination.
Cette commande déplace toutes les collections de sites depuis la base de données de contenu source vers la base de données de contenu de destination.
Pour plus d'informations, voir Move-SPSite.
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
Ajouter des bases de données de contenu dans SharePoint Server