Comment modifier le serveur de base de données dans une batterie SharePoint batterie de serveurs
Résumé
Dans une batterie SharePoint, vous pouvez être dans l’devoir de migrer des bases de données d’un serveur SQL Server à un autre. Si vous n’utilisez pas d’alias client SQL Server pendant l’installation de SharePoint ou si vous devez renommer le serveur de base de données pour diverses raisons (par exemple, après une violation de sécurité), suivez les étapes de cet article pour modifier le serveur de base de données.
Grâce à une planification et une haute disponibilité, vous pouvez effectuer ces étapes dans un environnement de production sans avoir à arrêter tous les services.
Modifier le serveur de base de données
Cet article suppose que toutes les bases de données SharePoint sont hébergées sur une seule instance SQL Server instance. Ajustez les paramètres dans ces étapes si nécessaire pour votre environnement.
Avant de commencer, créez une sauvegarde de la base de données de configuration pour la résolution des problèmes au cas où la batterie de serveurs SharePoint ne soit plus accessible lorsque vous effectuez les étapes.
Important
Avant de commencer, assurez-vous de bien comprendre ce plan d’action. Si la batterie SharePoint devient complètement inaccessible ou si la base de données de configuration est endommagée, vous devez restaurer la fonctionnalité à partir de la dernière sauvegarde de batterie de serveurs.
Étape 1 : Créer un alias de SQL sur tous les serveurs SharePoint la batterie de serveurs
Pour cela, procédez comme suit :
- Veillez à utiliser un compte d’utilisateur membre des informations suivantes :
- du groupe Administrateurs ;
- Le rôle de base de données fixe db_owner.
- Démarrez l SQL Server un utilitaire de réseau client (cliconfg.exe). Cet utilitaire se trouve généralement dans le dossier C:\Windows\SysWOW64 (32 bits) ou C:\Windows\System32 (64 bits).
- Sous l’onglet Général, vérifiez que TCP/IP est activé.
- Sous l’onglet Alias, cliquez sur Ajouter.
Remarque La fenêtre Ajouter une configuration de bibliothèque réseau s’affiche. - Dans la zone Alias du serveur, entrez le nom du nouvel alias SQL Server serveur.
- Dans la zone Bibliothèques réseau, cliquez sur TCP/IP.
- Dans la zone Nom du serveur dans la zone Paramètres de connexion, entrez le nom de domaine complet du nouveau serveur qui exécute SQL Server, puis cliquez sur OK.
- Répétez les étapes 2 à 7 sur tous les serveurs SharePoint qui se connectent à l’instance de SQL Server qui héberge les bases de données.
Étape 2 : Pointez les bases SharePoint données vers le nouvel alias SQL de données
Cette étape modifie le pointeur SQL Server’instance sur toutes les bases SharePoint données. Si vous souhaitez stocker les bases de données sur SQL Server instances, modifiez le script en conséquence.
Important
La base SharePoint de configuration et la base de données de contenu de l’Administration centrale doivent résider sur la même instance SQL Server instance.
Pour modifier le pointeur SQL Server’instance, exécutez le script PowerShell suivant dans une fenêtre SharePoint Management Shell :
$SPDBs = Get-SPDatabase
ForEach ($DB in $SPDBs)
{
$DB.ChangeDatabaseInstance('SPSQLRenamed')
}
Pour vérifier la modification, exécutez l’cmdlet PowerShell suivante dans une fenêtre SharePoint Management Shell :
Get-SPDatabase | Select Name,Server
Vous devez recevoir un résultat semblable à l’exemple suivant :
Étape 3 : Pointez l’instance de base de données par défaut pour les applications web vers la nouvelle instance SQL Server de base de données
Cette étape est requise pour que lorsque vous créez des bases de données sans spécifier le serveur de base de données, elles ne se connectent pas à l’ancienne instance SQL Server base de données.
Le plan d’action suivant va pointer toutes les bases de données vers la même instance SQL Server (celle qui sert la base de données de configuration). Modifiez ce script pour qu’il corresponde à vos besoins.
Exécutez le script PowerShell suivant dans une fenêtre SharePoint Management Shell avec élévation de SharePoint élevé :
$ConfigDB = Get-SPDatabase | ?{$_.Name -eq 'SharePoint_Config'}
$WebApps = Get-SPWebApplication -IncludeCentralAdministration
ForEach ($WebApp in $WebApps)
{
$WebApp.Parent.DefaultDatabaseInstance = $ConfigDB.ServiceInstance
$webapp.Parent.Update()
$webapp.Update()
}
Pour vérifier la modification, exécutez l’cmdlet PowerShell suivante dans une fenêtre SharePoint Management Shell :
$webapps = Get-SPWebApplication -IncludeCentralAdministration
foreach ($webapp in $webapps)
{
Write-host "WebAppUrl: $($webapp.DisplayName)`tDefaultDatabaseInstance: $($webapp.Parent.DefaultDatabaseInstance.DisplayName)"
}
Vous devez recevoir un résultat semblable à l’exemple suivant :
Étape 4 : Modifier la configuration du cluster de cache distribué
Important
Cette étape décrit comment modifier directement la base de données SharePoint de configuration. La modification directe de la base de données n’est généralement pas prise en charge pour SharePoint bases de données liées à l’informatique. Les actions spécifiées ici sont autorisées uniquement à cet effet. Nous n’accordons pas l’autorisation d’utiliser ces étapes pour apporter d’autres modifications.
Pour cela, procédez comme suit :
Obtenez l’objet de configuration actuel à partir du serveur en cours d’exécution SQL Server l’aide de la requête SQL suivante :
SELECT [ID],[Properties] FROM [SharePoint_Config].[dbo].[Objects] WITH (NOLOCK) WHERE Properties like '%_cacheConfigStorageLocation%'La requête renvoie une seule ligne avec deux colonnes. Une colonne est pour le GUID de l’élément de configuration et l’autre pour le contenu de l’élément de configuration, comme dans l’exemple suivant :
<object type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfo, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token"><fld type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterConfigStorageLocation, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token" name="_cacheConfigStorageLocation"><object type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterConfigStorageLocation, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token"><sFld type="String" name="_provider">SPDistributedCacheClusterProvider</sFld><sFld type="String" name="_connectionString">Data Source=SPSQLRenamed;Initial Catalog=SharePoint_Config;Integrated Security=True;Persist Security Info=False;Enlist=False;Pooling=True;Min Pool Size=0;Max Pool Size=100;PoolBlockingPeriod=Auto;Asynchronous Processing=False;Connection Reset=True;MultipleActiveResultSets=False;Replication=False;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;Load Balance Timeout=0;Packet Size=8000;Type System Version=Latest;Application Name=".Net SqlClient Data Provider";User Instance=False;Context Connection=False;Transaction Binding="Implicit Unbind";ApplicationIntent=ReadWrite;MultiSubnetFailover=False;TransparentNetworkIPResolution=True;ConnectRetryCount=1;ConnectRetryInterval=10;Column Encryption Setting=Disabled</sFld></object></fld><sFld type="String" name="_clusterSize">medium</sFld><sFld type="Boolean" name="_enableHA">False</sFld><sFld type="Boolean" name="_isInitialized">True</sFld><sFld type="Boolean" name="_isDataCacheSecurityEnabled">False</sFld><sFld type="Boolean" name="m_DeploymentLocked">False</sFld><fld type="System.Collections.Hashtable, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=Token" name="m_UpgradedPersistedFields" /><fld name="m_Properties" type="null" /><sFld type="String" name="m_LastUpdatedUser">SP2016\Administrator</sFld><sFld type="String" name="m_LastUpdatedProcess">psconfigui (3536)</sFld><sFld type="String" name="m_LastUpdatedMachine">SP16APP1</sFld><sFld type="DateTime" name="m_LastUpdatedTime">Time</sFld><fld name="m_LastUpdatedStackTrace" type="null" /><sFld type="Int32" name="m_LastUpdatedThreadId">31</sFld><sFld type="Guid" name="m_LastUpdatedCorrelationId">CorrelationId</sFld></object>.Copiez le résultat dans Bloc-notes, puis remplacez ce qui suit par la nouvelle instance SQL Server suivante :
Data Source=SPSQLRenamed;Initial Catalog=SharePoint_Config;Exécutez la commande SQL suivante pour mettre à jour l’objet de configuration :
UPDATE Objects SET Properties = '[content in Notepad]' WHERE ID = '[GUID of the configuration object in the query result]'
Étape 5 : Réapprovisioner le service de cache distribué sur tous les serveurs de cache distribué
Pour cela, procédez comme suit :
Sur l’un des serveurs de cache distribué, fermez normalement le service en exécutant l’applet de cmdlet PowerShell suivante dans une invite PowerShell avec élévation de niveaux :
Use-CacheCluster Stop-CacheHost -Graceful -CachePort 22233 -ComputerName $env:COMPUTERNAMEPatientez jusqu’à ce que le service soit arrêté. Vous pouvez surveiller l’état à l’aide de l’cmdlet PowerShell suivante :
Get-CacheHostLorsque le service est arrêté, vous devez recevoir un résultat semblable à l’exemple suivant :
Supprimez le serveur local du cluster de cache distribué en exécutant l’cmdlet PowerShell suivante :
Remove-SPDistributedCacheServiceInstanceRestituer le serveur local au cluster de cache distribué en exécutant l’cmdlet PowerShell suivante :
Add-SPDistributedCacheServiceInstanceOuvrez l’Éditeur du Registre, puis vérifiez que la valeur ConnectionString de la clé HKLM\SOFTWARE\Microsoft\AppFabric\V1.0\Configuration est mise à jour. Voici un exemple :
Répétez les étapes 1 à 5 sur chacun des autres serveurs du cluster de cache distribué.
Étape 6 : Supprimer la référence à l’ancien serveur
Pour ce faire, exécutez l’cmdlet PowerShell suivante dans une fenêtre SharePoint Management Shell avec élévation de SharePoint élevé :
$OldServer = Get-SPServer | ?{$_.Address -eq '<The name of the SQL Server to be removed>'}
$OldServer.Delete()
Étape 7 : Vérifier la modification
Pour vérifier que le serveur de base de données a bien été modifié, exécutez l’cmdlet suivante :
Get-SPServer
Vous devez recevoir un résultat semblable à l’exemple suivant :
Informations supplémentaires
Encore besoin d’aide ? Accédez au site de la Communauté SharePoint.