ÈçºÎ»Ö¸´/ÐÞ¸´MS SQLÊý¾Ý¿âµÄMDFÎļþ
¡¡¡¡Èç¹û±¸·ÝµÄÊý¾Ý¿âÓÐ2¸öÎļþ£¬·Ö±ðÊÇ.LDF ºÍ .MDF£¬´ò¿ªÆóÒµ¹ÜÀíÆ÷£¬ÔÚʵÀýÉÏÓÒ»÷---ËùÓÐÈÎÎñ--¸½¼ÓÊý¾Ý¿â£¬È»ºóÑ¡ÔñÄǸö.MDFÎļþ£¬¾Í¿ÉÒÔÁË¡£
¡¡¡¡»òÕßÔÚ²éѯ·ÖÎöÆ÷ÖÐÊäÈ룺
¡¡¡¡sp_attach_db "Êý¾Ý¿âÃû³Æ","·¾¶\ÎļþÃû.ldf","·¾¶\ÎļþÃû.MDF"
¡¡¡¡SQL ServerÊý¾Ý¿â±¸·ÝÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇʹÓÃBACKUP DATABASE½«Êý¾Ý¿âÎļþ±¸·Ý³öÈ¥£¬ÁíÍâÒ»ÖÖ¾ÍÊÇÖ±½Ó¿½±´Êý¾Ý¿âÎļþmdfºÍÈÕÖ¾ÎļþldfµÄ·½Ê½¡£ÏÂÃ潫Ö÷ÒªÌÖÂÛһϺóÕߵı¸·ÝÓë»Ö¸´¡£±¾Îļٶ¨ÄúÄÜÊìÁ·Ê¹ÓÃSQL Server Enterprise Manager(SQL ServerÆóÒµ¹ÜÀíÆ÷)ºÍSQL Server Quwey Analyser(SQL Server²éѯ·ÖÎöÆ÷)
¡¡¡¡1¡¢Õý³£µÄ±¸·Ý¡¢»Ö¸´·½Ê½
¡¡¡¡Õý³£·½Ê½Ï£¬ÎÒÃÇÒª±¸·ÝÒ»¸öÊý¾Ý¿â£¬Ê×ÏÈÒªÏȽ«¸ÃÊý¾Ý¿â´ÓÔËÐеÄÊý¾Ý·þÎñÆ÷ÖжϿª£¬»òÕßÍ£µôÕû¸öÊý¾Ý¿â·þÎñÆ÷£¬È»ºó¸´ÖÆÎļþ¡£
¡¡¡¡Ð¶ÏÂÊý¾Ý¿âµÄÃüÁSp_detach_db Êý¾Ý¿âÃû
¡¡¡¡Á¬½ÓÊý¾Ý¿âµÄÃüÁSp_attach_db»òÕßsp_attach_single_file_db
¡¡¡¡s_attach_db [@dbname =] 'dbname', [@filename1 =] 'filename_n' [,...16]
¡¡¡¡sp_attach_single_file_db [@dbname =] 'dbname', [@physname =] 'physical_name'
¡¡¡¡Ê¹Óô˷½·¨¿ÉÒÔÕýÈ·»Ö¸´SQL Sever7.0ºÍSQL Server 2000µÄÊý¾Ý¿âÎļþ£¬ÒªµãÊDZ¸·ÝµÄʱºòÒ»¶¨Òª½«mdfºÍldfÁ½¸öÎļþ¶¼±¸·ÝÏÂÀ´£¬mdfÎļþÊÇÊý¾Ý¿âÊý¾ÝÎļþ£¬ldfÊÇÊý¾Ý¿âÈÕÖ¾Îļþ¡£
¡¡¡¡Àý×Ó£º
¡¡¡¡¼ÙÉèÊý¾Ý¿âΪtest£¬ÆäÊý¾ÝÎļþΪtest_data.mdf£¬ÈÕÖ¾ÎļþΪtest_log.ldf¡£ÏÂÃæÎÒÃÇÌÖÂÛÒ»ÏÂÈçºÎ±¸·Ý¡¢»Ö¸´¸ÃÊý¾Ý¿â¡£
¡¡¡¡Ð¶ÏÂÊý¾Ý¿â£ºsp_detach_db 'test'
¡¡¡¡Á¬½ÓÊý¾Ý¿â£ºsp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'
¡¡¡¡sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'
¡¡¡¡// ±¾ÎÄת×Ô C++Builder Ñо¿ - http://www.ccrun.com/article.asp?i=986&d=oxit07
¡¡¡¡2¡¢Ö»ÓÐmdfÎļþµÄ»Ö¸´¼¼Êõ
¡¡¡¡ÓÉÓÚÖÖÖÖÔÒò£¬ÎÒÃÇÈç¹ûµ±Ê±½ö½ö±¸·ÝÁËmdfÎļþ£¬ÄÇô»Ö¸´ÆðÀ´¾ÍÊÇÒ»¼þºÜÂé·³µÄÊÂÇéÁË¡£
¡¡¡¡Èç¹ûÄúµÄmdfÎļþÊǵ±Ç°Êý¾Ý¿â²úÉúµÄ£¬ÄÇôºÜ½ÄÐÒ£¬Ò²ÐíÄãʹÓÃsp_attach_db»òÕßsp_attach_single_file_db¿ÉÒÔ»Ö¸´Êý¾Ý¿â£¬µ«ÊÇ»á³öÏÖÀàËÆÏÂÃæµÄÌáʾÐÅÏ¢
¡¡¡¡É豸¼¤»î´íÎó¡£ÎïÀíÎļþÃû 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' ¿ÉÄÜÓÐÎó¡£
¡¡¡¡ÒÑ´´½¨ÃûΪ 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' µÄÐÂÈÕÖ¾Îļþ¡£
¡¡¡¡µ«ÊÇ£¬Èç¹ûÄúµÄÊý¾Ý¿âÎļþÊÇ´ÓÆäËû¼ÆËã»úÉϸ´ÖƹýÀ´µÄ£¬ÄÇôºÜ²»ÐÒ£¬Ò²ÐíÉÏÊö°ì·¨¾ÍÐв»Í¨ÁË¡£ÄãÒ²Ðí»áµÃµ½ÀàËÆÏÂÃæµÄ´íÎóÐÅÏ¢
¡¡¡¡·þÎñÆ÷: ÏûÏ¢ 1813£¬¼¶±ð 16£¬×´Ì¬ 2£¬ÐÐ 1
¡¡¡¡Î´ÄÜ´ò¿ªÐÂÊý¾Ý¿â 'test'¡£CREATE DATABASE ½«ÖÕÖ¹¡£
¡¡¡¡É豸¼¤»î´íÎó¡£ÎïÀíÎļþÃû 'd:\test_log.LDF' ¿ÉÄÜÓÐÎó¡£
¡¡¡¡Ôõô°ìÄØ?±ð׿±£¬ÏÂÃæÎÒÃǾÙÀý˵Ã÷»Ö¸´°ì·¨¡£
¡¡¡¡A.ÎÒÃÇʹÓÃĬÈÏ·½Ê½½¨Á¢Ò»¸ö¹©»Ö¸´Ê¹ÓõÄÊý¾Ý¿â(Èçtest)¡£¿ÉÒÔÔÚSQL Server Enterprise ManagerÀïÃ潨Á¢¡£
¡¡¡¡B.Í£µôÊý¾Ý¿â·þÎñÆ÷¡£
¡¡¡¡C.½«¸Õ²ÅÉú³ÉµÄÊý¾Ý¿âµÄÈÕÖ¾Îļþtest_log.ldfɾ³ý£¬ÓÃÒª»Ö¸´µÄÊý¾Ý¿âmdfÎļþ¸²¸Ç¸Õ²ÅÉú³ÉµÄÊý¾Ý¿âÊý¾ÝÎļþtest_data.mdf¡£
¡¡¡¡D.Æô¶¯Êý¾Ý¿â·þÎñÆ÷¡£´Ëʱ»á¿´µ½Êý¾Ý¿âtestµÄ״̬Ϊ¡°ÖÃÒÉ¡±¡£Õâʱºò²»ÄܶԴËÊý¾Ý¿â½øÐÐÈκβÙ×÷¡£
¡¡¡¡E.ÉèÖÃÊý¾Ý¿âÔÊÐíÖ±½Ó²Ù×÷ϵͳ±í¡£´Ë²Ù×÷¿ÉÒÔÔÚSQL Server Enterprise ManagerÀïÃæÑ¡ÔñÊý¾Ý¿â·þÎñÆ÷£¬°´ÓÒ¼ü£¬Ñ¡Ôñ¡°ÊôÐÔ¡±£¬ÔÚ¡°·þÎñÆ÷ÉèÖá±Ò³ÃæÖн«¡°ÔÊÐí¶ÔϵͳĿ¼ֱ½ÓÐ޸ġ±Ò»ÏîÑ¡ÖС£Ò²¿ÉÒÔʹÓÃÈçÏÂÓï¾äÀ´ÊµÏÖ¡£
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º ¡¡¡¡use master ¡¡¡¡go ¡¡¡¡sp_configure 'allow updates',1 ¡¡¡¡go ¡¡¡¡reconfigure with override ¡¡¡¡go
¡¡¡¡F.ÉèÖÃtestΪ½ô¼±ÐÞ¸´Ä£Ê½
¡¡¡¡update sysdatabases set status=-32768 where dbid=DB_ID('test')
¡¡¡¡´Ëʱ¿ÉÒÔÔÚSQL Server Enterprise ManagerÀïÃæ¿´µ½¸ÃÊý¾Ý¿â´¦ÓÚ¡°Ö»¶Á\ÖÃÒÉ\ÍÑ»ú\½ô¼±Ä£Ê½¡±¿ÉÒÔ¿´µ½Êý¾Ý¿âÀïÃæµÄ±í£¬µ«Êǽö½öÓÐϵͳ±í
¡¡¡¡G.ÏÂÃæÖ´ÐÐÕæÕýµÄ»Ö¸´²Ù×÷£¬Öؽ¨Êý¾Ý¿âÈÕÖ¾Îļþ
¡¡¡¡dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
¡¡¡¡Ö´Ðйý³ÌÖУ¬Èç¹ûÓöµ½ÏÂÁÐÌáʾÐÅÏ¢£º
¡¡¡¡·þÎñÆ÷: ÏûÏ¢ 5030£¬¼¶±ð 16£¬×´Ì¬ 1£¬ÐÐ 1
¡¡¡¡Î´ÄÜÅÅËüµØËø¶¨Êý¾Ý¿âÒÔÖ´ÐиòÙ×÷¡£
¡¡¡¡DBCC Ö´ÐÐÍê±Ï¡£Èç¹û DBCC Êä³öÁË´íÎóÐÅÏ¢£¬ÇëÓëϵͳ¹ÜÀíÔ±ÁªÏµ¡£
¡¡¡¡ËµÃ÷ÄúµÄÆäËû³ÌÐòÕýÔÚʹÓøÃÊý¾Ý¿â£¬Èç¹û¸Õ²ÅÄúÔÚF²½ÖèÖÐʹÓÃSQL Server Enterprise Manager´ò¿ªÁËtest¿âµÄϵͳ±í£¬ÄÇôÍ˳öSQL Server Enterprise Manager¾Í¿ÉÒÔÁË¡£
¡¡¡¡ÕýÈ·Ö´ÐÐÍê³ÉµÄÌáʾӦ¸ÃÀàËÆÓÚ£º
¡¡¡¡¾¯¸æ: Êý¾Ý¿â 'test' µÄÈÕÖ¾ÒÑÖؽ¨¡£ÒÑʧȥÊÂÎñµÄÒ»ÖÂÐÔ¡£Ó¦ÔËÐÐ DBCC CHECKDB ÒÔÑéÖ¤ÎïÀíÒ»ÖÂÐÔ¡£½«±ØÐëÖØÖÃÊý¾Ý¿âÑ¡Ï²¢ÇÒ¿ÉÄÜÐèҪɾ³ý¶àÓàµÄÈÕÖ¾Îļþ¡£
¡¡¡¡DBCC Ö´ÐÐÍê±Ï¡£Èç¹û DBCC Êä³öÁË´íÎóÐÅÏ¢£¬ÇëÓëϵͳ¹ÜÀíÔ±ÁªÏµ¡£
¡¡¡¡´Ëʱ´ò¿ªÔÚSQL Server Enterprise ManagerÀïÃæ»á¿´µ½Êý¾Ý¿âµÄ״̬Ϊ¡°Ö»¹©DBOʹÓᱡ£´Ëʱ¿ÉÒÔ·ÃÎÊÊý¾Ý¿âÀïÃæµÄÓû§±íÁË¡£
¡¡¡¡H.ÑéÖ¤Êý¾Ý¿âÒ»ÖÂÐÔ(¿ÉÊ¡ÂÔ)
¡¡¡¡dbcc checkdb('test')
¡¡¡¡Ò»°ãÖ´Ðнá¹ûÈçÏ£º
¡¡¡¡CHECKDB ·¢ÏÖÁË 0 ¸ö·ÖÅä´íÎóºÍ 0 ¸öÒ»ÖÂÐÔ´íÎó(ÔÚÊý¾Ý¿â 'test' ÖÐ)¡£
¡¡¡¡DBCC Ö´ÐÐÍê±Ï¡£Èç¹û DBCC Êä³öÁË´íÎóÐÅÏ¢£¬ÇëÓëϵͳ¹ÜÀíÔ±ÁªÏµ¡£
¡¡¡¡I.ÉèÖÃÊý¾Ý¿âΪÕý³£×´Ì¬
¡¡¡¡sp_dboption 'test','dbo use only','false'
¡¡¡¡Èç¹ûûÓгö´í£¬ÄÇô¹§Ï²£¬ÏÖÔھͿÉÒÔÕý³£µÄʹÓûָ´ºóµÄÊý¾Ý¿âÀ²¡£
¡¡¡¡J.×îºóÒ»²½£¬ÎÒÃÇÒª½«²½ÖèEÖÐÉèÖõġ°ÔÊÐí¶ÔϵͳĿ¼ֱ½ÓÐ޸ġ±Ò»Ïî»Ö¸´¡£ÒòΪƽʱֱ½Ó²Ù×÷ϵͳ±íÊÇÒ»¼þ±È½ÏΣÏÕµÄÊÂÇé¡£µ±È»£¬ÎÒÃÇ¿ÉÒÔÔÚSQL Server Enterprise ManagerÀïÃæ»Ö¸´£¬Ò²¿ÉÒÔʹÓÃÈçÏÂÓï¾äÍê³É
ÒÔÏÂÊÇÒýÓÃƬ¶Î£º ¡¡¡¡sp_configure 'allow updates',0 ¡¡¡¡go ¡¡¡¡reconfigure with override ¡¡¡¡go
ÎÄÕÂÀ´Ô´£ºÌ켫Íø
|