Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SPS2003][WSS2003] Collections WSS orphelines/en erreur, une méthode (risquée)

1 réponse
Avatar
TG2K
Bonjour,

Vous avez certainement crois=E9 un jour des collections orphelines ou
mal finies (restore avec stsadm qui s'arr=EAte pour une raison ou une
autre, exemple pris tout =E0 fait au hasard...).

Depuis le SP2 + rollups, stsadm comporte une nouvelle option:
stsadm.exe -o databaserepair
-url <url>
-databasename <database name>
[-deletecorruption]

Dans le meilleur des cas, =E7a fonctionne, stsadm va chercher comme un
grand dans la base de contenu tous les objets (doclibs, lists...) dont
les id de site/web ne correspondent =E0 rien d'existant dans la table
sites de la base de contenu WSS et/ou de la base de config.

Notez que c'est d'ailleurs un pr=E9-requis au prescan de MOSS2007 en vue
de la migration: si des sites orphelins sont d=E9tect=E9s, le prescan.exe
renvoie une erreur et il vous faudra nettoyer la base au pr=E9alable.

Dans mon cas... le site =E9tait en erreur(*), mais non d=E9tect=E9, car
pr=E9sent sur les tables sites, j'ai donc fait une manip SQL (un peu
ol=E9 ol=E9, non support=E9e en tout cas). Stricto sensu, il n'=E9tait pas
orphelin.
J'avais donc un site r=E9f=E9renc=E9 dans la ConfigDB->Sites et
ContentDB->Sites , mais pourtant en erreur. Afin de nettoyer l'ensemble
de ses objets, j'ai tout simplement supprim=E9 la ligne contenant la
collection fautive dans les 2 tables, puis ex=E9cut=E9 la commande stsadm
-o databaserepair. La commande a alors vu mon site comme orphelin, et a
purg=E9 correctement tous les objets aff=E9rents.

Voil=E0, manip =E0 2 centimes d'euro, risqu=E9e si on ne veut pas tout
planter... mais bien utile quand le site en erreur fait 2Go dans une
base de 50Go que l'on ne veut pas reconstruire.

(*) dans mon cas, 'en erreur', en fait la collection ne pouvait plus
=EAtre supprim=E9e ni =E9cras=E9e, suite =E0 un restore interrompu
(connexion r=E9seau HS puis timeout et stsadm parti en torche).

En esp=E9rant que =E7a aide,
--=20
TG2K

1 réponse

Avatar
EROL [MVP SPS]
Bonsoir,

Merci
--
Cdlt
--

EROL
--
www.shareclubs.org

"TG2K" a écrit dans le message de news:

Bonjour,

Vous avez certainement croisé un jour des collections orphelines ou
mal finies (restore avec stsadm qui s'arrête pour une raison ou une
autre, exemple pris tout à fait au hasard...).

Depuis le SP2 + rollups, stsadm comporte une nouvelle option:
stsadm.exe -o databaserepair
-url <url>
-databasename <database name>
[-deletecorruption]

Dans le meilleur des cas, ça fonctionne, stsadm va chercher comme un
grand dans la base de contenu tous les objets (doclibs, lists...) dont
les id de site/web ne correspondent à rien d'existant dans la table
sites de la base de contenu WSS et/ou de la base de config.

Notez que c'est d'ailleurs un pré-requis au prescan de MOSS2007 en vue
de la migration: si des sites orphelins sont détectés, le prescan.exe
renvoie une erreur et il vous faudra nettoyer la base au préalable.

Dans mon cas... le site était en erreur(*), mais non détecté, car
présent sur les tables sites, j'ai donc fait une manip SQL (un peu
olé olé, non supportée en tout cas). Stricto sensu, il n'était pas
orphelin.
J'avais donc un site référencé dans la ConfigDB->Sites et
ContentDB->Sites , mais pourtant en erreur. Afin de nettoyer l'ensemble
de ses objets, j'ai tout simplement supprimé la ligne contenant la
collection fautive dans les 2 tables, puis exécuté la commande stsadm
-o databaserepair. La commande a alors vu mon site comme orphelin, et a
purgé correctement tous les objets afférents.

Voilà, manip à 2 centimes d'euro, risquée si on ne veut pas tout
planter... mais bien utile quand le site en erreur fait 2Go dans une
base de 50Go que l'on ne veut pas reconstruire.

(*) dans mon cas, 'en erreur', en fait la collection ne pouvait plus
être supprimée ni écrasée, suite à un restore interrompu
(connexion réseau HS puis timeout et stsadm parti en torche).

En espérant que ça aide,
--
TG2K