DBCC REBUILD_LOG¸¦ »ç¿ëÇÏ¿© »õ·Î¿î ·Î±× ÆÄÀÏ »ý¼ºÇϱâ MS SQL
2005/06/24 13:52
http://blog.naver.com/newelite/100014329665
DBCC REBUILD_LOG´Â, µ¥ÀÌÅͺ£À̽ºÀÇ Æ®·£Àè¼Ç ·Î±× ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ »õ·Î¿î ·Î±×¸¦ À籸ÃàÇϴµ¥ »ç¿ëµÇ´Â ¸í·É¾îÀÔ´Ï´Ù.
¿¹¸¦ µé¾î, Çϵå¿þ¾îÀÇ Àå¾Ö·Î ÀÎÇÏ¿© ·Î±× ÆÄÀÏÀÌ ¼Õ»óµÇ°Å³ª ½Ç¼ö·Î ·Î±× ÆÄÀÏÀ» »èÁ¦ÇÏ¿© ±âÁ¸ÀÇ ·Î±× ÆÄÀÏÀ» ¾×¼¼½ºÇÒ ¼ö ¾ø¾î¼ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ DBCC REBUILD_LOG¸¦ »ç¿ëÇÏ¿© ·Î±×¸¦ À籸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ·Î±× ÆÄÀÏÀÌ ÇϳªÀÎ °æ¿ì¿¡´Â ¸ÕÀú À§ÀÇ ÇØ°á ¹æ¹ýÀ» Àû¿ëÇØ º» ´ÙÀ½¿¡ ½ÇÆÐÇϸé ÀÌ ¹æ¹ýÀ» »ç¿ëÇϱ⠹ٶø´Ï´Ù.
±×·¯³ª, ÀÌ ¸í·É¾î¸¦ »ç¿ëÇÏ¸é ·Î±×¿¡ ¹Ý¿µµÇÁö ¾ÊÀº À¯½ÇµÈ Æ®·£Àè¼ÇµéÀÇ ¹ß»ýÀ¸·Î µ¥ÀÌÅͺ£À̽ºÀÇ ÀÏ°ü¼ºÀÌ ¼Õ»óµÉ °¡´É¼ºÀÌ ¸Å¿ì ³ô´Ù´Â Á¡À» À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù. ¹®Á¦°¡ ¹ß»ýÇϸé ÀÏ´Ü ´Ù¸¥ ¹æ¹ý (¿¹¸¦ µé¾î, sp_attach_single_file_db)À» µ¿¿øÇÏ¿© ¹®Á¦ ÇØ°áÀ» ½ÃµµÇÏ°í, µµÀúÈ÷ ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â µ¥ÀÌÅͺ£À̽º¸¦ º¹±¸ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ ÀÌ ¸í·É¾î¸¦ »ç¿ëÇϱ⠹ٶø´Ï´Ù. ÀÌ ¸í·É¾î¸¦ ¼öÇàÇÏ¸é ·Î±×¿¡ ¹Ý¿µµÇÁö ¾Ê´Â Æ®·£Àè¼ÇÀÇ ¹ß»ýÀ¸·Î ÀÎÇÏ¿© µ¥ÀÌÅÍ ¹«°á¼ºÀÌ ¼Õ»óµÉ °¡´É¼ºÀÌ ³ô±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ ¸í·É¾î´Â ¹®¼·Î Á¦°øµÇÁö ¾Ê´Â ¸í·É¾îÀÌ¸ç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ±â¼ú Áö¿ø ¼ºñ½ºÀÇ Áö¿ø ÇÏ¿¡¼ »ç¿ëÇÏ´Â °ÍÀÌ ¿øÄ¢ÀÌÁö¸¸, ±â¼ú Áö¿ø ¼ºñ½º¸¦ ¹ÞÀ» ¼ö ¾ø´Â °æ¿ìÀÇ ÀÀ±Þ º¹±¸ ÀÛ¾÷¿¡ Âü°íÇϽöó°í ¾Ë·Á µå¸³´Ï´Ù. ¶ÇÇÑ, Çϵå¿þ¾î Àå¾Ö¿Í °°Àº ¹®Á¦°¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ »Ó¸¸ ¾Æ´Ï¶ó µ¥ÀÌÅͱîÁö ¼Õ»ó½ÃÄ×À» °¡´É¼ºÀÌ ³ôÀ¸¹Ç·Î, DBCC REBUILD_LOG°¡ ¼º°øÀûÀ¸·Î ¿Ï·áµÈ ÀÌÈÄ¿¡ ´ÜÀÏ »ç¿ëÀÚ ¸ðµå¿¡¼ DBCC CHECKDB¸¦ ¼öÇàÇÏ¿© µ¥ÀÌÅÍÀÇ ÀÏ°ü¼º (Consistency) À» È®ÀÎÇÏ´Â ÀÛ¾÷ÀÌ ¹Ýµå½Ã ÇÊ¿äÇÕ´Ï´Ù.
[±¸¹®] DBCC REBUILD_LOG('db_name','log_filename')
db_name : ¹®Á¦°¡ ¹ß»ýÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ À̸§
log_filename : »õ·Î¿î ·Î±× ÆÄÀÏ¿¡ ´ëÇÑ ¿ÏÀüÇÑ ¹°¸®Àû °æ·Î
[ÁÖÀÇ] ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é µ¥ÀÌÅÍ ÀÏ°ü¼ºÀÌ ¼Õ»óµÉ °¡´É¼ºÀÌ ¸Å¿ì ³ôÀ¸¹Ç·Î ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â µµÀúÈ÷ µ¥ÀÌÅͺ£À̽º¸¦ º¹±¸ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ ÃÖÈÄÀÇ ¹æ¹ýÀ¸·Î¼ »ç¿ëÇØ¾ß Çϸç, ¸Å¿ì ½ÅÁßÇÏ°Ô ÀÛ¾÷ÇØ¾ß Çϸç, ÀÌ ¸í·É¾î´Â ¹®¼·Î Á¦°øµÇÁö ¾Ê´Â ¸í·É¾î·Î¼ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® Á¦Ç° ±â¼ú Áö¿ø ¼ºñ½ºÀÇ Áö¿ø ÇÏ¿¡¼ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
[¿À·ù ¹ß»ý]
·Î±× ÆÄÀÏÀÌ À¯½Ç ¶Ç´Â ¼Õ»óµÈ °æ¿ì¿¡´Â ±× µ¥ÀÌÅͺ£À̽º´Â ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¿¡ "ÁÖÀÇ ´ë»ó" (suspect)·Î Ç¥½ÃµÇ¸ç, Äõ¸® ºÐ¼®±â³ª ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¿¡¼ ÁÖÀÇ
´ë»ó »óÅ°¡ µÈ µ¥ÀÌÅͺ£À̽º¸¦ ¾×¼¼½ºÇÏ·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù
¼¹ö: ¸Þ½ÃÁö 945, ¼öÁØ 14, »óÅ 2, ÁÙ 1
ÆÄÀÏÀ» ¾×¼¼½ºÇÒ ¼ö ¾ø°Å³ª ¸Þ¸ð¸® ¶Ç´Â µð½ºÅ© °ø°£ÀÌ ºÎÁ·ÇÏ¿© 'RebuildLogTest' µ¥ÀÌÅͺ£À̽º¸¦ ¿ ¼ö ¾ø½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¿À·ù ·Î±×¸¦ ÂüÁ¶ÇϽʽÿÀ.
±×¸®°í SQL Server¸¦ Àç½ÃÀÛÇϸé ERRORLOG ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ±â·ÏµË´Ï´Ù.
2005-01-12 14:51:56.72 spid11 'RebuildLogTest' µ¥ÀÌÅͺ£À̽º¸¦ ½ÃÀÛÇÏ´Â ÁßÀÔ´Ï´Ù.
2005-01-12 14:51:57.24 spid11 ÀåÄ¡ È°¼ºÈ ¿À·ùÀÔ´Ï´Ù. ¹°¸®Àû ÆÄÀÏ À̸§ 'C:\Program Files\Microsoft SQL Server\MSSQL\data\RebuildLogTest_log.LDF'ÀÌ(°¡) À߸øµÈ °Í °°½À´Ï´Ù.
ÀÌ¿Í °°Àº ¿À·ù°¡ ¹ß»ýÇÏ°í µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ ´ÙÀ½°ú °°Àº ÀÛ¾÷ ´Ü°è·Î º¹±¸ ÀÛ¾÷À» ¼öÇàÇÏ¸é ·Î±×¸¦ À籸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.
[¿¹Á¦] ´ÙÀ½Àº RebuildLogTest¶ó´Â µ¥ÀÌÅͺ£À̽º¸¦ º¹±¸ÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.
¼³Á¤µÈ ¿É¼ÇµéÀ» È®ÀÎÇÕ´Ï´Ù.
EXEC sp_dboption RebuildLogTest
GO
½Ã½ºÅÛ Å×ÀÌºí¿¡ ´ëÇÑ Á÷Á¢ÀûÀÎ ¾÷µ¥ÀÌÆ®°¡ °¡´ÉÇϵµ·Ï º¯°æÇÕ´Ï´Ù.
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
¹®Á¦°¡ ¹ß»ýÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ÀÀ±Þ ¸ðµå(bypass recovery)·Î ¼³Á¤ÇÕ´Ï´Ù
UPDATE master..sysdatabases SET status = 32768
WHERE name = 'RebuildLogTest'
GO
SQL Server ¼ºñ½º¸¦ ÁßÁöÇÏ°í ´Ù½Ã ½ÃÀÛÇÕ´Ï´Ù.
DBCC REBUILD_LOG¸¦ ¼öÇàÇÕ´Ï´Ù. ÀÌ ¶§ ·Î±× ÆÄÀÏÀÇ À̸§¿¡´Â ·Î±× ÆÄÀÏÀÌ ÀúÀåµÉ °æ·Î±îÁö Àüü À̸§À» ±â¼úÇØ¾ß Çϸç, ·Î±× ÆÄÀÏÀº ±âÁ¸¿¡ Á¸ÀçÇÏÁö ¾Ê´Â À̸§À» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. USE master
GO
DBCC REBUILD_LOG('rebuildlogtest','C:\Program Files\Microsoft SQL Server\MSSQL\data\RebuildLogTest_log.LDF')
GO
[Âü°í]
ÀÌ ¸í·É¾î°¡ Á¤»óÀûÀ¸·Î ¼öÇàµÇ¸é °á°úâ¿¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ¹ÝȯµÇ¸ç, µ¥ÀÌÅͺ£À̽º´Â 'dbo use only' ¸ðµå°¡ µË´Ï´Ù. ÀÌÀüÀÇ status °ª°ú ¹«°üÇÏ°Ô sysdatabases Å×À̺íÀÇ status °ªÀÌ 2048·Î ¼³Á¤µË´Ï´Ù. sp_dboptionÀ̳ª ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¸¦ »ç¿ëÇÏ¿© status °ªÀ» ¿øÇÏ´Â °ªÀ¸·Î º¯°æÇÏ¸é µË´Ï´Ù.
°æ°í: 'RebuildLogTest' µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ·Î±×°¡ ´Ù½Ã ÀÛ¼ºµÇ¾ú½À´Ï´Ù. Æ®·£Àè¼Ç¿¡ ÀÏ°ü¼ºÀÌ ¾ø½À´Ï´Ù. ¹°¸®Àû ÀÏ°ü¼ºÀ» °Ë»çÇÏ·Á¸é DBCC CHECKDB¸¦ ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ¿É¼ÇÀ» ¿ø·¡´ë·Î ¼³Á¤ÇÏ°í ´Ù¸¥ ·Î±× ÆÄÀÏÀ» »èÁ¦ÇØ¾ß ÇÕ´Ï´Ù.
DBCC ½ÇÇàÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. DBCC¿¡¼ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ¸é ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽʽÿÀ.
¸¸¾à ÀÌ¹Ì ÀÖ´Â ÆÄÀÏ À̸§À» ÁöÁ¤ÇÑ °æ¿ì¿¡´Â ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ¹ÝȯµË´Ï´Ù.
¼¹ö: ¸Þ½ÃÁö 5025, ¼öÁØ 16, »óÅ 1, ÁÙ 2
'C:\Program Files\Microsoft SQL Server\MSSQL\data\RebuildLogTest_log.LDF' ÆÄÀÏÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù. »õ ·Î±× ÆÄÀÏÀ» ¸¸µé·Á¸é ÀÌ ÆÄÀÏÀÇ À̸§À» ¹Ù²Ù°Å³ª »èÁ¦ÇØ¾ß ÇÕ´Ï´Ù.
DBCC ½ÇÇàÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. DBCC¿¡¼ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ¸é ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽʽÿÀ.
½Ã½ºÅÛ Å×À̺íÀ» Á÷Á¢ ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ¾øµµ·Ï ¿ø·¡ °ªÀ¸·Î º¯°æÇÕ´Ï´Ù.
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO
µ¥ÀÌÅͺ£À̽º¸¦ ´ÜÀÏ »ç¿ëÀÚ ¸ðµå·Î º¯°æÇÏ°í DBCC CHECKDB¸¦ ¼öÇàÇÏ¿© ÀÏ°ü¼ºÀ» Á¡°ËÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ´ÜÀÏ »ç¿ëÀÚ ¸ðµå·Î º¯°æÇÏ´Â º¸´Ù ÀÚ¼¼ÇÑ ¹æ¹ýÀº "¼Õ»óµÈ µ¥ÀÌÅͺ£À̽º º¹±¸Çϱâ" ¸¦ ÂüÁ¶Çϱ⠹ٶø´Ï´Ù.
EXEC sp_dboption ' RebuildLogTest ', 'single user', 'true'
DBCC CHECKDB('RebuildLogTest')
GO
DBCC CHECKDB¸¦ ¼öÇàÇÑ °á°ú ¹®Á¦°¡ ¾øÀ¸¸é, ±× µ¥ÀÌÅͺ£À̽º¸¦ Á¤»óÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ·Ñ¹éµÇ¾î¾ß ÇÒ Æ®·£Àè¼ÇÀÌ ·Ñ¹éµÇÁö ¾Ê°Å³ª, µ¥ÀÌÅÍ¿¡ ¹Ý¿µµÇ¾î¾ß ÇÒ ¼öÁ¤ ÀÛ¾÷ÀÌ ¹Ý¿µµÇÁö ¾Ê´Â ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ³í¸®ÀûÀÎ µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀº º°µµÀÇ Á¡°ËÀÌ ÇÊ¿äÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ¿É¼ÇÀ» ¿ø·¡´ë·Î ¼³Á¤ÇÏ°í, ·Î±× ÆÄÀÏÀÇ Å©±âµµ ¿ø·¡ Å©±â·Î È®ÀåÇÕ´Ï´Ù. ·Î±×ÆÄÀÏÀ» À籸ÃàÇϸé, 504KBÀÇ ÀÛÀº Å©±âÀÇ ·Î±× ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù.
|