Meilleur auteur de réponses
Requete de delete sur une base

Question
-
Bonjour
J'effectue un delete d'un site sharepoint,donc une requete SQLEn regardant le nombre de locks sur le job SQL de delete , a l aide d'une requete SQL,
je remarque qu'au bout de 10 000 000 locks,
le serveur SQL n'a plus de ressources pour finaliser la requete.
Mon serveur est un DL 380 G5.Au depart j'ai effectue un test avec 2Go de memoire sur le serveur, donc 1,5Go de RAM maximum pour le
serveur SQL, le serveur SQL n'a plus de ressources pour finaliser la requete a partir de 10 000 000 locksPuis j'ai rajouté de la memoire, et j'ai active l'AWE et le /PAE dans le fichier boot.ini
J'ai affecté 3,5Go de RAM maximum pour le serveur SQL, le serveur SQL n'a toujours plus de ressources
pour finaliser la requete a partir de 10 000 000 locks
Ce comportement je n'arrive pas a l'expliquer car en rajoutant de la memoire, la requete delete aurait du echouée
avec plus 10 000 000 locks pour le job SQL de deleteAvez vous des idées
Merci de votre aide
Réponses
-
Bonjour
J'ai d'abord effectué une purge de tous les documents appartenant au site sharepoint
en lancant une requete SQL
A l'aide de cette requete suivante dans la BD qui est mappée au site sharepoint
je determine le SiteID de mon site sharepoint
SELECT [Id]
,[SiteId]
,[FullUrl],[Title]
FROM [dbo].[Webs]
puis j'effectue un delete par lot de 1000
DELETE TOP (1000) FROM AllDocStreams
WHERE SiteId = siteidsitesharepoint
A la fin du delete j'ai supprimé 200 000 documents appartenant au site sharepoint
Je lance le delete de mon site sharepoint et ouf la commande fonctionne.
Christophe- Marqué comme réponse Roxana PANAITMicrosoft employee lundi 1 août 2011 06:23
Toutes les réponses
-
Bonjour c'est étrange comme comportement.
Le lock_escalation aurait du intervenir dès lors que les 5000 locks /index ont été dépassés.
Il est possible que la table n'ai plus le comportement par défaut.
Quelles est la valeur de la colonne lock_escalation dans la dmv sys.tables ?
Si la valeur n'est pas à 0, je vous suggère :
ALTER TABLE XXX SET LOCK_ESCALATION = TABLE
Et ensuite, revenir au mode qui était en place.
Cdlt,
Christophe
Christophe LAPORTE Conseil IT Consultant – Formateur certifié Microsoft Microsoft Certified Master - MVP SQL Server – MCT- Proposé comme réponse Roxana PANAITMicrosoft employee vendredi 29 juillet 2011 12:31
-
Bonjour,
Je me suis perdu sur le forum sql :)
Je ne me prononcerais pas sur le comportement de SQL Server.
Concernant SharePoint il est connu que le deletesite est exigeant, touchant 35 tables sql et supprimant en une seule fois le contenu stocké sur le site, d'où les locks.
C'est pourquoi a été introduit sur le CU d'avril l'option gradual delete. Pourquoi ne pas l'essayer?
--> stsadm -o deletesite -url [URL de la collection de site] -gradualdelete
Nicolas Cambot - Blog Nelite- Proposé comme réponse Roxana PANAITMicrosoft employee vendredi 29 juillet 2011 12:31
-
Bonjour,
Merci de nous tenir au courant,
Cordialement,
Roxana
Roxana PANAIT, MSFT
• Votez l’article qui vous est utile ou postez un pour participer au concours : Appel à la contribution
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
Bonjour
J'ai d'abord effectué une purge de tous les documents appartenant au site sharepoint
en lancant une requete SQL
A l'aide de cette requete suivante dans la BD qui est mappée au site sharepoint
je determine le SiteID de mon site sharepoint
SELECT [Id]
,[SiteId]
,[FullUrl],[Title]
FROM [dbo].[Webs]
puis j'effectue un delete par lot de 1000
DELETE TOP (1000) FROM AllDocStreams
WHERE SiteId = siteidsitesharepoint
A la fin du delete j'ai supprimé 200 000 documents appartenant au site sharepoint
Je lance le delete de mon site sharepoint et ouf la commande fonctionne.
Christophe- Marqué comme réponse Roxana PANAITMicrosoft employee lundi 1 août 2011 06:23