Migration SharePoint

SharePoint – Les alertes ne marchent plus suite à une migration SharePoint 2007 vers 2010

Posted on Updated on

Récemment, j’ai eu une migration SharePoint 2007 vers SharePoint 2010 avec changement de serveur (32 bits pour l’ancien, et donc 64 bits pour le nouveau) et changement d’adresse publique (changement de l’alias DNS et donc nouvelle adresse publique).

Je me suis donc aperçu que les alertes utilisateurs ne fonctionnaient plus après la migration !!! Effectivement, après maintes recherches et analyses, je me suis rendu compte que ces alertes sont stockées dans la base de contenu de chaque WebApplication, dans la table “ImmedSubscriptions“.

En faisant un select sur cette table, on s’aperçoit que les Urls publiques de la ferme (l’ancienne adresse) sont référencées directement dans certains champs :

  • SiteURL  : texte simple
  • Properties : propriétés dans une structure XML

Il faut donc mettre à jour ces attributs avec la nouvelle adresse publique de la nouvelle ferme. Pour cela, pas d’autre choix que d’écrire un petit bout de SQL…

Mise à jour de SiteUrl :

USE [WSS_ContentDB]
UPDATE ImmedSubscriptions
SET SiteURL = ‘NouvelleUrlDeLaFerme’
where SiteURL = ‘AncienneUrlDeLaFerme’

Mise à jour de Properties :
Cet attribut est plus complexe puisqu’il s’agit d’une structure XML… il faut donc seulement remplacer l’ancienne Url par la nouvelle où cela est nécessaire. Pour cela, on récupère le champ Properties dans un NVARCHAR(Max) puis on utilise la fonction SQL Server “Replace”.

USE [WSS_ContentDB]
UPDATE ImmedSubscriptions
SET Properties = Replace(Cast(Properties AS NVARCHAR(Max)), ‘AncienneUrlDeLaFerme’, ‘NouvelleUrlDeLaFerme’)

 

Après ces manipulations, pensez à relancer le service Timer de SharePoint (SharePoint Timer Service ou OWS Timer) soit par la console d’administration des services Windows, soit en lançant les commandes “net stop OWSTimer” puis “net start OWSTimer”.