Select the product you need help with
CORRECTIF : Une instruction «DBCC CHECKDB» ou d'une instruction «DBCC CHECKTABLE» signale les erreurs une fois que vous recréez un index XML dans SQL Server 2005Numéro d'article: 974985 - Voir les produits auxquels s'applique cet article Microsoft distribue les correctifs de Microsoft SQL Server 2005 sous la forme d'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2005 version du correctif. SymptômesEnvisagez le scénario suivant :
Msg 8964, niveau 16, état 1, ligne 1 Erreur de table : objet ID 965578478, index ID 1, les ID 72057594042515456, unité d'allocation 72057594052083712 ID (type de données LOB) de partition. Le n?ud de données hors ligne à page (1:569), slot 0, le texte 1881079808 ID n'est pas référencé. Il existe des 3 lignes dans les pages 1 pour objet «sys.xml_index_nodes_ <xxxxxx>». RésolutionLe correctif de ce problème a été publié tout d'abord en mise à jour cumulative 6 pour SQL Server 2005 Service Pack 3. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft : 974648 Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2005 version du correctif. Microsoft vous recommande d'envisager l'application de la dernière version de correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
(http://support.microsoft.com/kb/974648/LN/
)
Package de mise à jour cumulative 6 pour SQL Server 2005 Service Pack 3960598 Microsoft SQL Server 2005 les correctifs sont créés pour les service packs pour SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 3 à une installation de SQL Server 2005 Service Pack 3. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.
(http://support.microsoft.com/kb/960598/LN/
)
Versions de SQL Server 2005 publiées après SQL Server 2005 Service Pack 3 ContournementPour contourner ce problème, appliquez l'une des méthodes suivantes : Méthode 1 Supprimer et recréer l'index XML au lieu d'exécuter l'instruction ALTER INDEX : --------START OF THE SCRIPT--------------
----------Drop table named temp if it exists----------------
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[temp]') AND type in (N'U'))
DROP TABLE [dbo].[temp]
------------Create a tenp table to keep the information about existing XML indexes------------
Create table Temp (object_id int, index_id int, object_name varchar(256), IndexName nvarchar(256),Name nvarchar(256),
Secondary_type_desc nvarchar (240),Secondary_type char(1),Using_Xml_index_id int)
------------Insert XML index information into temp table----------------
Insert Into Temp
SELECT i.object_id,i.index_id,object_name(i.object_id)as object_name, i.name as IndexName
,c.name,i.Secondary_type_desc,i.Secondary_type,i.using_xml_index_id
FROM sys.xml_indexes AS i
INNER JOIN sys.index_columns AS ic
ON i.object_id = ic.object_id AND i.index_id = ic.index_id
INNER JOIN sys.columns AS c
ON ic.object_id = c.object_id AND c.column_id = ic.column_id
Order by i.index_id
-------------Adding a new column for Manipulation------------
Alter table temp add IndName varchar(256) NULL;
-------------Updating value in column for Manipulation------------
Update Temp Set Secondary_type_desc = 'APRIMARY' Where Secondary_type_desc IS NULL
-------------Updating value in column for Manupilation------------
Update a set a.IndName = b.IndexName from temp a inner join temp b on a.using_xml_index_id = b.index_id and a.object_id = b.object_id
-------------Set Ansi_padding ON to create XML indexes------------
Set Ansi_Padding ON
--------Cursor to Drop existing XML Indexes------------
DECLARE XMLIndexDrop CURSOR
READ_ONLY
FOR select 'Drop Index '+ IndexName +' on '+Object_name from temp where Secondary_type is null
DECLARE @DropString varchar(400)
OPEN XMLIndexDrop
FETCH NEXT FROM XMLIndexDrop INTO @DropString
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
exec(@DropString)
PRINT @DropString
END
FETCH NEXT FROM XMLIndexDrop INTO @DropString
END
CLOSE XMLIndexDrop
DEALLOCATE XMLIndexDrop
GO
--------Cursor to Create XML Indexes-------------
DECLARE XMLIndexCreate CURSOR
READ_ONLY
FOR Select 'CREATE ' + Case when Secondary_type_desc = 'APRIMARY' then 'PRIMARY XML'
Else 'XML' END + ' INDEX ' + IndexName +' on ' + object_name + ' ('+name+')'
+ Case when Secondary_type_desc = 'APRIMARY' then ''
Else ' USING XML INDEX ' + IndName + ' FOR ' + Secondary_type_desc END
From Temp Order By Secondary_type_desc Asc
DECLARE @CreateString varchar(400)
OPEN XMLIndexCreate
FETCH NEXT FROM XMLIndexCreate INTO @CreateString
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
exec(@CreateString )
PRINT @CreateString
END
FETCH NEXT FROM XMLIndexCreate INTO @CreateString
END
CLOSE XMLIndexCreate
DEALLOCATE XMLIndexCreate
GO
--------Closing the cursor--------------
--------END OF THE SCRIPT--------------
Méthode 2 Supprimer tous les index XML, puis exécutez l'instruction ALTER INDEX sur les index de la table. Ensuite, recréer les index XML. StatutMicrosoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "S'applique à". RéférencesPour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft : 935897 Pour plus d'informations sur l'obtention de SQL Server 2005 Service Pack 3, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
(http://support.microsoft.com/kb/935897/
)
Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour la fourniture des correctifs logiciels pour les problèmes signalés 913089 Pour plus d'informations sur les nouvelles fonctionnalités dans SQL Server 2005 Service Pack 3 (SP3) et sur les améliorations apportées à SQL Server 2005 SP3, reportez-vous au site Web de Microsoft à l'adresse suivante :
(http://support.microsoft.com/kb/913089/
)
Comment faire pour obtenir la dernière pack de service pour SQL Server 2005 http://go.microsoft.com/fwlink/?LinkId=131442 Pour plus d'informations sur le modèle d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
(http://go.microsoft.com/fwlink/?LinkId=131442)
822499 Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
(http://support.microsoft.com/kb/822499/
)
Nouveau modèle d'affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server 824684
(http://support.microsoft.com/kb/824684/
)
Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft PropriétésNuméro d'article: 974985 - Dernière mise à jour: lundi 26 avril 2010 - Version: 2.0 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatique IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 974985
(http://support.microsoft.com/kb/974985/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. |




Retour au début








