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”.

 

Advertisements

3 thoughts on “SharePoint – Les alertes ne marchent plus suite à une migration SharePoint 2007 vers 2010

    beatchs said:
    13 June 2011 at 08:13

    Bonjour,

    Nous venons de faire recréer notre ferme de serveur WSS (déplacement des bases de contenu vers SQL 2008 et création d’une nouvelle base de configuration sur un nouveau serveur WSS). Nous avons le même problème au niveau des alertes. J’ai bien lu votre méthode. N’étant pas expert SQL, pourriez-vous m’indiquer plus précisément où faire les manipulations proposées.

    D’avance un grand merci.

    Beatchs

      kazoumoulox responded:
      13 June 2011 at 10:45

      Il faut utiliser SQL Server Management Studio installé avec SQL Server, sur le serveur SQL. Il faut seulement se connecter au serveur SQL, et lancer les requêtes données dans l’article sur les bases de données de contenu de SharePoint (bases où sont stockées les données de SharePoint), sur chaque base.

      Une fois les requêtes passées, redémarrer le service OWS Timer (SharePoint Timer Service) sur le serveur SharePoint.

    beatchs said:
    13 June 2011 at 13:04

    Bonjour,

    Je viens d’exécuter les deux requêtes sur une des bases de données. Je constate que les valeurs ont bien changé dans les colonnes. Même après le redémarrage complet du serveur WSS, les messages restent dans la table et ne sont pas routés. Avez-vous une suggestion?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s