ሙሰኛን መልሱ SQL Server ኤምዲኤፍ የውሂብ ጎታ

መቼ ነው SQL Server የ MDF የመረጃ ቋት ብልሹ ነው ፣ ኪሳራውን ለመቀነስ በውስጡ ያሉትን መረጃዎች መልሶ ለማግኘት የሚከተሉትን ዘዴዎች መጠቀም ይችላሉ-

ማሳሰቢያ-ማንኛውንም የውሂብ መልሶ ማግኛ ክዋኔዎች ከማከናወንዎ በፊት እባክዎን በመጀመሪያ የተበላሹ ኤምዲኤፍ እና ኤንዲኤፍ የመረጃ ቋቶችዎን (ፋይሎችን) ያስቀምጡ ፡፡

  1. በመጀመሪያ ፣ መሞከር ይችላሉ SQL Server አብሮገነብ ትዕዛዝ DBCC ቼክኬቢ የመረጃ ቋትዎን መልሶ ለማግኘት። የተበላሸው የመረጃ ቋት ፋይል ‹MyDatabase.mdf› ነው ብለን ካሰብን ከዚያ በውስጡ ያለውን መረጃ ለማስመለስ እንደሚከተለው ማድረግ ይችላሉ-
    1. ባለከፍተኛ ጥራትtart SQL Server.
    2. ምንም ክዋኔዎችን አያካሂዱ ፡፡
    3. In SQL Server ማኔጅመንት ስቱዲዮ ፣ የሚከተሉትን የ SQL መግለጫዎችን ያከናውኑ
      ዋና ማስተዋወቂያ ይጠቀሙ @databasename varchar (255) set @ databasename = 'MyDatabase.mdf' exec sp_dboption @databasename, N'single ', N'true' - የመድረሻውን የመረጃ ቋት ወደ አንድ-ተጠቃሚ ሁነታ dbcc checkdb ያቀናብሩ (@ የውሂብ ጎታ ስም ፣ REPAIR_ALLOW_DATA_LOSS ) dbcc checkdb (@ databasename, REPAIR_REBUILD) exec sp_dboption @databasename, N'single ', N'false' - የመድረሻውን የመረጃ ቋት ወደ ብዙ ተጠቃሚ ሁነታ መልሰው ያዘጋጁ
      

      መግለጫው

      dbcc checkdb (@ የመረጃ ቋት ስም ፣ REPAIR_ALLOW_DATA_LOSS)
      

      የጥገና ሥራውን በሚያከናውንበት ጊዜ በመረጃ ቋትዎ ውስጥ አንዳንድ መረጃዎችን ሊያጣ ይችላል።

      መግለጫው እያለ

      dbcc checkdb (@ የመረጃ ቋት ስም ፣ REPAIR_REBUILD)
      

      በጥገናው ወቅት ምንም የውሂብ መጥፋት አያስከትልም ፣ ግን የበለጠ ጊዜ የሚወስድ ነው።

      ስለዚህ አጣዳፊ ካልሆኑ በመጀመሪያ ሁለተኛውን የዲ.ቢ.ሲ. Checkdb መግለጫ ብቻ ለማከናወን መሞከር ይችላሉ ፣ ይህ መግለጫ የመረጃ ቋቱን (ዳታቤዙን) ለማስመለስ የማይረዳ ከሆነ የመጀመሪያ እና ሁለተኛ ዲ.ቢ.ሲ. ቼክዲብ ትዕዛዞችን ማከናወን ይችላሉ ፡፡

      ከጥገና ሥራው በኋላ መደወል ይችላሉ

      dbcc checkdb ('MyDatabase.mdf')
      

      ዳታቤዙ የተስተካከለ መሆኑን ወይም አለመሆኑን እንደገና ለማየት ፡፡

      ስለ dbcc checkdb ትዕዛዝ የበለጠ ዝርዝር መረጃ በ https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. ዘዴ 1 ን ከተጠቀሙ በኋላ dbcc checkdb አሁንም በአንዳንድ ሰንጠረ inች ውስጥ ስህተቶችን ሪፖርት ካደረገ መሞከር ይችላሉ SQL Server አብሮ የተሰራ ትዕዛዝ DBCC CHECKTABLE በመረጃ ቋትዎ ውስጥ እነዚህን ሰንጠረ recoverች መልሶ ለማግኘት ፡፡ የተበላሸው የመረጃ ቋት ፋይል ‹MyDatabase.mdf› ነው ብለው ካሰቡ እና ሊጠግኑት የሚፈልጉት ሰንጠረዥ ‹MyTable› ነው ፣ ከዚያ እሱን ለመጠገን እንደሚከተለው ማድረግ ይችላሉ-
    1. ባለከፍተኛ ጥራትtart SQL Server.
    2. ምንም ክዋኔዎችን አያካሂዱ ፡፡
    3. In SQL Server ማኔጅመንት ስቱዲዮ ፣ የሚከተሉትን የ SQL መግለጫዎችን ያከናውኑ
      MyDatabase.mdf ን ይጠቀሙ @dbname varchar (255) set @ dbname = 'MyDatabase.mdf' exec sp_dboption @ dbname, 'single user', 'true' dbcc checktable ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbcc checktable ('MyTable', REPAIR ) exec sp_dboption @ dbname ፣ 'ነጠላ ተጠቃሚ' ፣ 'ውሸት'
      

      መግለጫው

      dbcc Checktable ('MyTable' ፣ REPAIR_ALLOW_DATA_LOSS)
      

      የጥገና ሥራውን ሲያከናውን በሠንጠረዥዎ ውስጥ የተወሰነ መረጃ መጥፋት ሊያስከትል ይችላል ፡፡

      መግለጫው እያለ

      dbcc Checktable ('MyTable' ፣ REPAIR_REBUILD)
      

      በጥገናው ወቅት ምንም የውሂብ መጥፋት አያስከትልም ፣ ግን የበለጠ ጊዜ የሚወስድ ነው።

      ስለዚህ አጣዳፊ ካልሆኑ በመጀመሪያ ሁለተኛውን የዲ.ቢ.ሲ. ማረጋገጫ ሰጭ መግለጫን ብቻ ለመፈፀም መሞከር ይችላሉ ፣ ይህ መግለጫ የመረጃ ቋቱን (ዳታቤዙን) ለማስመለስ የማይችል ከሆነ የመጀመሪያ እና ሁለተኛ ዲ.ቢ.ሲ. ማረጋገጫ ትዕዛዞችን ማከናወን ይችላሉ ፡፡

      ለሁሉም ብልሹ ጠረጴዛዎች የጥገና ሥራውን ካጠናቀቁ በኋላ መደወል ይችላሉ

      dbcc checkdb ('MyDatabase.mdf')
      

      በመረጃ ቋቱ ውስጥ ያሉት ሰንጠረ fixedች የተስተካከሉ መሆናቸውን ወይም አለመሆኑን እንደገና ለማየት ፡፡

    ስለ dbcc ማረጋገጫ ደብተር ተጨማሪ ዝርዝር መረጃ በ https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. ዘዴ 1 እና 2 አሁንም የተበላሸውን የውሂብ ጎታ ወይም ጠረጴዛዎችን ማስተካከል ካልቻሉ ወይም እነዚህ ዘዴዎች የሚፈልጉትን ውሂብ መልሰው ማግኘት ካልቻሉ ታዲያ መጠቀም ይችላሉ DataNumen SQL Recovery መረጃውን ከእርስዎ ኤምዲኤፍ ዳታቤዝ ለማስመለስ።