ldfÆÄÀÏ ¾øÀÌ mdf ÆÄÀÏ ¸¸À¸·Î µ¥ÀÌÅÍ º£À̽º º¹±¸ ¹æ¹ý DB/DW
2008/04/23 14:56
http://blog.naver.com/gachoori/140050836005
ÀÌ Æ÷½ºÆ®¸¦ º¸³½°÷ ()
ª¯ªÞªÎStudy | °õÅÊÀÌ
http://blog.naver.com/dbwpsl/60031195371 ÀÌ ÀúÀÛ¹°Àº ¾Æ·¡ Á¶°Ç ¸¸Á· ½Ã
º°µµ Çã°¡ ¾øÀÌ »ç¿ë °¡´ÉÇÕ´Ï´Ù
ÀúÀÛÀÚ ¸í½Ã Çʼö
¿µ¸®Àû »ç¿ë ºÒ°¡
³»¿ë º¯°æ ºÒ°¡
MDF ÆÄÀϸ¸À¸·Î º¹±¸ÇÏ´Â ¹æ¹ý
1.MDFÆÄÀÏÀÇ DB¸íÀ¸·Î ºó µðºñ»ý¼º
2.DBÁ¤ÁöÈÄ »ý¼ºÇѵðºñÀÇ MDFÆÄÀÏ°ú °¡Áö°íÀÖ´Â MDFÆÄÀÏ ±³Ã¼
3.DB½ÃÀÛÀ» Çϸé suspect¸ðµå(ÁÖÀÇ»óÅÂ)·Î ºüÁü -> ÇöÀç DB¿¡¼ Ç¥½ÃÇÒ °Ô ¾ø´Ù°í ¶ã²®´Ï´Ù.
ÀÌÈĺÎÅÍ´Â suspect¸ðµå¿¡¼ÀÇ ¾Æ·¡ º¹±¸¹æ¹ý ÂüÁ¶
ÀÌ·¸°Ô º¹±¸°¡ µÈ´ÙÇصµ DBÀÇ ÀÚ·á´Â °ÅÀÇ º¹±¸°¡µÇÁö¸¸ ¿©·¯ Å°°ª, À妽º±îÁö Á¦´ë·Î ÀâÈ÷Áø ¾Ê½À´Ï´Ù.
DB°ü¸®½Ã öÀúÈ÷ Áغñ¸¦ ÇÏ¿©¾ß Çϸç Á¦´ë·ÎµÈ ¹é¾÷ ¹× º¹±¸¹æ¹ýÀ» »ç¿ëÇÏ¿©¾ß ÇÒ°ÍÀÔ´Ï´Ù.
ÀÌ·¸°Ô Çѹø ÇØ º¸½Ê½Ã¿ä.
!!! ¸ÕÀú MDF ÆÄÀÏÀº ¸¸ÀÏÀ» À§ÇØ ¹é¾÷Çصνñ⸦ ´çºÎÇÕ´Ï´Ù
¾Æ·¡ÀÇ ¹æ¹ýÀº DB°¡ suspectµÇ¾úÀ»¶§ÀÇ Á¶Ä¡¹æ¹ýÀÔ´Ï´Ù¸¸ ·Î±×ÆÄÀÏÀÌ ¾ø´Â MDF ÆÄÀϸ¸ ºÙÀ϶§µµ È¿°úÀûÀÔ´Ï´Ù
Àúµµ ±ÛÀ» ¿Ã¸®±âÀü Å×½ºÆ®ÇÏ¿© ¼º°øÇÏ¿´½À´Ï´Ù¸¸ ¼º°øÀ» 100% Àå´ãÇÏÁö´Â ¸øÇÕ´Ï´Ù.
-- 1. ½Ã½ºÅÛ Ä«´Þ·Î±×¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù
use master
go
sp_configure `allow update`, 1
reconfigure with override
go
-- 2. ÇØ´ç DB¸¦ ÀÀ±Þ¸ðµå (32768 = emergency mode)·Î º¯°æÇÕ´Ï´Ù
select * from sysdatabases
update sysdatabases set status=32768 where name=`ckmall`
go
select * from sysdatabases
-- 3. SQL Service ÁßÁö
-- 4. SQL Service ½ÃÀÛ
-- 5. ·Î±× ÆÄÀÏ Àç»ý¼º
use master
go
DBCC rebuild_log(`ckmall`,C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\ckmall_log.ldf`)
--ÇØ´ç°æ·Î·Î ÁöÁ¤Çϼſä.
go
/* °æ°í: `DBSIZE` µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ·Î±×°¡ ´Ù½Ã ÀÛ¼ºµÇ¾ú½À´Ï´Ù. Æ®·£Àè¼Ç¿¡ ÀÏ°ü¼ºÀÌ ¾ø½À´Ï´Ù.
¹°¸®Àû ÀÏ°ü¼ºÀ» °Ë»çÇÏ·Á¸é DBCC CHECKDB¸¦ ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ¿É¼ÇÀ» ¿ø·¡´ë·Î ¼³Á¤ÇÏ°í ´Ù¸¥ ·Î±× ÆÄÀÏÀ» »èÁ¦ÇØ¾ß ÇÕ´Ï´Ù.
DBCC ½ÇÇàÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. DBCC¿¡¼ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ¸é ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽʽÿÀ.
*/
-- 6. ÀÌ »óűîÁö ÁøÇàÀ» ÇÏ°Ô µÇ¸é DBÀÇ LDFÆÄÀÏÀÌ ÃʱâÈµÇ¸é¼ DB´Â DBO¸¸ »ç¿ë»óÅ·ΠȰ¼ºÈµË´Ï´Ù.
-- ±×·¯¸é ÀÌÁ¦ DB¸¦ º¸Åë¸ðµå·Î ¹Ù²Ù´Â ÀÛ¾÷À» ÇÕ´Ï´Ù
-- 7. DBÀÇ »óŸ¦ ¸ÕÀú È®ÀÎÇÕ´Ï´Ù
USE master
go
select * from sysdatabases
-- À̶§ ¾Æ±î º¹±¸ÇÑ DBÀÇ »óÅ°¡ `2048` : dbo use only »óÅ·ΠµÇ¾î ÀÖÀ»°Í ÀÔ´Ï´Ù
-- 8. º¹±¸ÇÑ DBÀÇ ¸ðµå¸¦ `±âº»¸ðµå = 0` À¸·Î º¹±¸ÇÕ´Ï´Ù
USE master
go
update sysdatabases set status=0 where name=`ckmall`
-- 9. EMÀ» À翬°áÇϸé DBÀÇ »óÅ°¡ º¸ÅëÀ¸·Î º¯°æµÊÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù
-- 10. ÀÌÁ¦ DB¸¦ ´Ù½Ã ¸ÕÀú ½Ã½ºÅÛ Ä«´Ù·Î±×¸¦ ¼öÁ¤ ÇÒ ¼ö ¾ø°Ô º¯°æÇØ ÁÝ´Ï´Ù
USE master
go
sp_configure `allow update`,0
reconfigure with override
go
/* ===========================
DBCC CheckDB ·Î Á¡°ËÇϱâ
*/
-- 11. ¿©±â±îÁö ÁøÇàÀÌ µÇ¾úÀ¸¸é ÀÌÁ¦´Â DB ÀÏ°ü¼º °Ë»ç¸¦ ÁøÇàÇÏ¿© À߸øµÈ ºÎºÐÀÌ ¾ø´ÂÁö È®ÀÎÇÕ´Ï´Ù
USE ckmall
go
set quoted_identifier on
go
DBCC CheckDB
-- 12.. ¿À·ù ¹ß°ß½Ã ÀÏ°ü¼º ¿À·ù¸¦ ¼öÁ¤Çϱâ À§ÇØ user¸¦ ½Ì±Û À¯Àú·Î º¯°æÇÕ´Ï´Ù
Alter Database DBsize Set Single_user with rollback immediate
go
-- 13. ¿À·ù¸¦ ¼öÁ¤ ÇÕ´Ï´Ù
DBCC CheckDB (`dbsize`,REPAIR_ALLOW_DATA_LOSS)
go
-- 14. ¿À·ù¸¦ ¼öÁ¤ÇÏ¿´À¸¸é ´Ù½Ã DBCC CheckDB¸¦ ¼öÇàÇÕ´Ï´Ù
DBCC CheckDB
go
-- ¿À·ù°¡ ´õ ÀÌ»ó ¾ø´Ù¸é user¸ðµå¸¦ ´Ù½Ã º¯°æÇÏ¿© ÁÝ´Ï´Ù
Use master
go
Alter Database dbsize set multi_user
go
/* 15. ¸ðµç ÀÛ¾÷ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù
¸¶Áö¸· Á¤»ó µ¥ÀÌÅ͸¦ º¸Á¸Çϱâ À§ÇØ DataBase¸¦ FULL BACKUPÀ» ¹Þ½À´Ï´Ù
*/
[Ãâó] [º»¹®½ºÅ©·¦] ldfÆÄÀÏ ¾øÀÌ mdf ÆÄÀÏ ¸¸À¸·Î µ¥ÀÌÅÍ º£À̽º º¹±¸ ¹æ¹ý|ÀÛ¼ºÀÚ Á¶½´¾ÆÅ´
|