Select the product you need help with
FIX: SQL Server 2005¿¡¼ XML À妽º¸¦ ´Ù½Ã ÀÛ¼ºÇÏ´Â ÈÄ A "DBCC CHECKDB" ¹® ¶Ç´Â ¹® "DBCC CHECKTABLE" ¿À·ù¸¦ º¸°íÇÏ´ÂÇÕ´Ï´Ù±â¼ú ÀÚ·á: 974985 - ÀÌ ¹®¼°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â. Microsoft´Â Microsoft SQL Server 2005 ¼öÁ¤ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå °¡´ÉÇÑ ÆÄÀÏ·Î ¹èÆ÷ÇÕ´Ï´Ù. ¼öÁ¤ ´©ÀûµÇ´Â ÇüÅÂÀ̹ǷΠÇÖÇȽº°¡ ¸ðµÎ °¢ »õ ¸±¸®½º¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ÀÌÀü SQL Server 2005¿¡ Æ÷ÇÔµÈ ¸ðµç º¸¾È ¸±¸®½ºÀÇ ¼öÁ¤. Çö»ó´ÙÀ½°ú °°Àº °æ¿ì¸¦ »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù:
¸Þ½ÃÁö 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 ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ. 974648 Âü°í ºôµå ´©ÀûµÇ´Â ÇüÅÂÀ̹ǷΠ»õ·Î¿î °¢ ¼öÁ¤ ¸±¸®½ºÀÇ ¸ðµç ÇÖÇȽº¿Í µé¾î ¹× ÀÌÀü SQL Server 2005¿¡ Æ÷ÇÔµÈ ¸ðµç º¸¾È ¸±¸®½ºÀÇ ¼öÁ¤. ÀÌ ÇÖÇȽº°¡ Æ÷ÇÔµÈ ÃֽмöÁ¤ ¸±¸®½º¸¦ Àû¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ:
(http://support.microsoft.com/kb/974648/LN/
)
SQL Server 2005 ¼ºñ½º ÆÑ 3 ´©Àû ¾÷µ¥ÀÌÆ® ÆÐŰÁö 6960598 Microsoft SQL Server 2005 ÇÖÇȽº°¡ ƯÁ¤ SQL Server ¼ºñ½º ÆÑÀº ¸¸µé ¼ö ÀÖ½À´Ï´Ù. SQL Server 2005 ¼ºñ½º ÆÑ 3 ¼³Ä¡¸¦ À§ÇØ SQL Server 2005 ¼ºñ½º ÆÑ 3 ÇÖÇȽº¸¦ Àû¿ëÇØ¾ß ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î SQL Server ¼ºñ½º ÆÑ¿¡ Á¦°øµÈ ¸ðµç ÇÖÇȽº´Â ´ÙÀ½ SQL Server ¼ºñ½º ÆÑÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
(http://support.microsoft.com/kb/960598/LN/
)
SQL Server 2005´Â SQL Server 2005 ¼ºñ½º ÆÑ 3 ¸±¸®½ºµÈ ÈÄ¿¡ ¸±¸®½ºµÈ ºôµå ÇØ°á °úÁ¤ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ´ÙÀ½ ¹æ¹ý Áß Çϳª¸¦ »ç¿ëÇϽʽÿÀ: ¹æ¹ý 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 2005 ¼ºñ½º ÆÑ 3 ±¸ÇÏ´Â ¹æ¹ýÀ» Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
(http://support.microsoft.com/kb/935897/
)
º¸°íµÈ ¹®Á¦¿¡ ´ëÇÑ ÇÖÇȽº¸¦ Á¦°øÇÏ´Â SQL Server ÆÀÀ¸·ÎºÎÅÍ ÁõºÐ ¼ºñ½º ¸ðµ¨À» »ç¿ëÇÕ´Ï´Ù 913089 SQL Server 2005 ¼ºñ½º ÆÑ 3 (SP3) ÀÇ »õ·Î¿î ±â´É ¹× Çâ»óµÈ SQL Server 2005 SP3ÀÇ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ Microsoft À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇϽʽÿÀ.
(http://support.microsoft.com/kb/913089/
)
SQL Server 2005 Ãֽмºñ½º ÆÑÀ» ±¸ÇÏ´Â ¹æ¹ý http://go.microsoft.com/fwlink/?LinkId=131442 ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¾÷µ¥ÀÌÆ®¸¦ ¸í¸í ½ºÅ°¸¶¸¦ Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
(http://go.microsoft.com/fwlink/?LinkId=131442)
822499 ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ® ¿ë¾î¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
(http://support.microsoft.com/kb/822499/
)
»õ ¸í¸í ½ºÅ°¸¶¿¡ Microsoft SQL Server ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ® ÆÐŰÁö¿¡ ´ëÇÑ 824684
(http://support.microsoft.com/kb/824684/
)
Microsoft ¼ÒÇÁÆ®¿þ¾î ¾÷µ¥ÀÌÆ®¸¦ ¼³¸íÇÏ´Â µ¥ »ç¿ëµÇ´Â Ç¥ÁØ ¿ë¾î¿¡ ´ëÇÑ ¼³¸í ¼Ó¼º±â¼ú ÀÚ·á: 974985 - ¸¶Áö¸· °ËÅä: 2010³â 4¿ù 26ÀÏ ¿ù¿äÀÏ - ¼öÁ¤: 2.0 º» ¹®¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
±â°è ¹ø¿ªµÈ ¹®¼ Áß¿ä: º» ¹®¼´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼ ¹× ±â°è ¹ø¿ªµÈ ¹®¼¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼ ±â°è ¹ø¿ª ¹®¼¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù. ÀÌ ¹®¼ÀÇ ¿µ¹® ¹öÀü º¸±â:974985
(http://support.microsoft.com/kb/974985/en-us/
)
|




À§·Î °¡±â








