FIX: SQL Server 2005¿¡¼­ XML À妽º¸¦ ´Ù½Ã ÀÛ¼ºÇÏ´Â ÈÄ A "DBCC CHECKDB" ¹® ¶Ç´Â ¹® "DBCC CHECKTABLE" ¿À·ù¸¦ º¸°íÇÏ´ÂÇÕ´Ï´Ù

±â¼ú ÀÚ·á: 974985 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
Microsoft´Â Microsoft SQL Server 2005 ¼öÁ¤ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå °¡´ÉÇÑ ÆÄÀÏ·Î ¹èÆ÷ÇÕ´Ï´Ù. ¼öÁ¤ ´©ÀûµÇ´Â ÇüÅÂÀ̹ǷΠÇÖÇȽº°¡ ¸ðµÎ °¢ »õ ¸±¸®½º¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ÀÌÀü SQL Server 2005¿¡ Æ÷ÇÔµÈ ¸ðµç º¸¾È ¸±¸®½ºÀÇ ¼öÁ¤.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

Çö»ó

´ÙÀ½°ú °°Àº °æ¿ì¸¦ »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù:
  • Microsoft SQL Server 2005ÀÇ XML µ¥ÀÌÅÍ Çü½ÄÀÇ ¿­À» Æ÷ÇÔÇÏ´Â Å×À̺íÀÌ ÀÖ½À´Ï´Ù.
  • ¿­À» XML À妽º¸¦ ¸¸µì´Ï´Ù.
  • XML À妽º¸¦ ´Ù½Ã Àý°ú ÇÔ²² ALTER INDEX ¹®À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • Å×ÀÌºí¿¡¼­ DBCC CHECKDB ¹®À» ¶Ç´Â CHECKTABLE DBCC ¹®À» ½ÇÇàÇÕ´Ï´Ù.
ÀÌ ½Ã³ª¸®¿À¿¡¼­´Â °í¾Æ µ¥ÀÌÅÍ ¼Õ»óÀÌ º¸°íµÇ°í ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù.
¸Þ½ÃÁö 8964, ¼öÁØ 16, »óÅ 1, ÁÙ 1
Å×ÀÌºí ¿À·ù: ID 965578478 °³Ã¼, À妽º ID 1, ID 72057594042515456 ID 72057594052083712 LOB µ¥ÀÌÅÍ Çü½Ä ÇÒ´çÇÒ ´ÜÀ§ ºÐÇÒÇÕ´Ï´Ù. Çà µ¥ÀÌÅÍ ³ëµå (1:569) ÆäÀÌÁö, ½½·Ô 0, ÅØ½ºÆ® ID 1881079808 ÂüÁ¶µÇÁö ¾Ê½À´Ï´Ù.

ÇàÀÌ 3 °³Ã¼ÀÇ "sys.xml_index_nodes_ <xxxxxx>" 1 ÆäÀÌÁöÀÔ´Ï´Ù.

ÇØ°á ¹æ¹ý

ÀÌ ¹®Á¦Á¡¿¡ ´ëÇÑ ¼öÁ¤ ÇÁ·Î±×·¥Àº SQL Server 2005 ¼­ºñ½º ÆÑ 3 ´©Àû ¾÷µ¥ÀÌÆ®¸¦ 6¿¡¼­ óÀ½ ¹ßÇ¥µÇ¾ú½À´Ï´Ù. ÀÌ ´©Àû ¾÷µ¥ÀÌÆ® ÆÐŰÁö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
974648SQL Server 2005 ¼­ºñ½º ÆÑ 3 ´©Àû ¾÷µ¥ÀÌÆ® ÆÐŰÁö 6
Âü°í ºôµå ´©ÀûµÇ´Â ÇüÅÂÀ̹ǷΠ»õ·Î¿î °¢ ¼öÁ¤ ¸±¸®½ºÀÇ ¸ðµç ÇÖÇȽº¿Í µé¾î ¹× ÀÌÀü SQL Server 2005¿¡ Æ÷ÇÔµÈ ¸ðµç º¸¾È ¸±¸®½ºÀÇ ¼öÁ¤. ÀÌ ÇÖÇȽº°¡ Æ÷ÇÔµÈ ÃֽмöÁ¤ ¸±¸®½º¸¦ Àû¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ:
960598SQL Server 2005´Â SQL Server 2005 ¼­ºñ½º ÆÑ 3 ¸±¸®½ºµÈ ÈÄ¿¡ ¸±¸®½ºµÈ ºôµå
Microsoft SQL Server 2005 ÇÖÇȽº°¡ ƯÁ¤ SQL Server ¼­ºñ½º ÆÑÀº ¸¸µé ¼ö ÀÖ½À´Ï´Ù. SQL Server 2005 ¼­ºñ½º ÆÑ 3 ¼³Ä¡¸¦ À§ÇØ SQL Server 2005 ¼­ºñ½º ÆÑ 3 ÇÖÇȽº¸¦ Àû¿ëÇØ¾ß ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î SQL Server ¼­ºñ½º ÆÑ¿¡ Á¦°øµÈ ¸ðµç ÇÖÇȽº´Â ´ÙÀ½ SQL Server ¼­ºñ½º ÆÑÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

ÇØ°á °úÁ¤

ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ´ÙÀ½ ¹æ¹ý Áß Çϳª¸¦ »ç¿ëÇϽʽÿÀ:

¹æ¹ý 1

´ÙÀ½ ALTER INDEX ¹®À» ½ÇÇàÇÏ´Â ´ë½Å, XML À妽º¸¦ »èÁ¦ÇÏ°í ´Ù½Ã ¸¸µå½Ê½Ã¿À.

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



¹æ¹ý 2

¸ðµç XML À妽º¸¦ Á¦°ÅÇÑ ´ÙÀ½ Å×À̺íÀÇ À妽º¿¡ ´ëÇÑ ALTER INDEX ¹®À» ½ÇÇàÇϽʽÿÀ. ±×·± ´ÙÀ½ XML À妽º¸¦ ´Ù½Ã ¸¸µì´Ï´Ù.

ÇöÀç »óÅÂ

Microsoft´Â "Àû¿ë ´ë»ó" Àý¿¡ ³ª¿­µÈ Á¦Ç°¿¡¼­ ¹®Á¦°¡ ÀÖÀ½À» È®ÀÎÇß½À´Ï´Ù.

ÂüÁ¶

ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ÁõºÐ ¼­ºñ½º ¸ðµ¨À» Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
935897º¸°íµÈ ¹®Á¦¿¡ ´ëÇÑ ÇÖÇȽº¸¦ Á¦°øÇÏ´Â SQL Server ÆÀÀ¸·ÎºÎÅÍ ÁõºÐ ¼­ºñ½º ¸ðµ¨À» »ç¿ëÇÕ´Ï´Ù
´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server 2005 ¼­ºñ½º ÆÑ 3 ±¸ÇÏ´Â ¹æ¹ýÀ» Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
913089SQL Server 2005 Ãֽм­ºñ½º ÆÑÀ» ±¸ÇÏ´Â ¹æ¹ý
SQL Server 2005 ¼­ºñ½º ÆÑ 3 (SP3) ÀÇ »õ·Î¿î ±â´É ¹× Çâ»óµÈ SQL Server 2005 SP3ÀÇ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇϽʽÿÀ.
http://go.microsoft.com/fwlink/?LinkId=131442
ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¾÷µ¥ÀÌÆ®¸¦ ¸í¸í ½ºÅ°¸¶¸¦ Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
822499»õ ¸í¸í ½ºÅ°¸¶¿¡ Microsoft SQL Server ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ® ÆÐŰÁö¿¡ ´ëÇÑ
¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ® ¿ë¾î¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
824684Microsoft ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ®¸¦ ¼³¸íÇÏ´Â µ¥ »ç¿ëµÇ´Â Ç¥ÁØ ¿ë¾î¿¡ ´ëÇÑ ¼³¸í

¼Ó¼º

±â¼ú ÀÚ·á: 974985 - ¸¶Áö¸· °ËÅä: 2010³â 4¿ù 26ÀÏ ¿ù¿äÀÏ - ¼öÁ¤: 2.0
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Ű¿öµå:?
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB974985 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
ÀÌ ¹®¼­ÀÇ ¿µ¹® ¹öÀü º¸±â:974985

Çǵå¹é º¸³»±â