भ्रष्टलाई फिर्ता गर SQL Server MDF डाटाबेस

जब तपाईं SQL Server MDF डाटाबेस भ्रष्ट छ, तपाईं निम्न विधिहरू प्रयोग गर्न सक्नुहुन्छ यसमा डाटा रिकभर गर्न, हानि कम गर्न:

नोट: कुनै पनि डाटा रिकभरी कार्यहरू प्रदर्शन गर्नु अघि, कृपया पहिले आफ्नो भ्रष्ट MDF र NDF डाटाबेस फाइलहरू ब्याकअप गर्नुहोस्।

  1. सबै भन्दा पहिले, तपाईं प्रयास गर्न सक्नुहुन्छ SQL Server निर्मित आदेश DBCC CHECKDB आफ्नो डाटाबेस रिकभर गर्न। भ्रष्ट डाटाबेस फाइल 'MyDatabase.mdf' हो भनी मान्दै, त्यसपछि तपाईं भित्र डाटा रिकभर गर्न निम्नानुसार गर्न सक्नुहुन्छ:
    1. Restart SQL Server.
    2. कुनै पनि अपरेशनहरू नगर्नुहोस्।
    3. In SQL Server व्यवस्थापन स्टुडियो, निम्न SQL कथनहरू कार्यान्वयन गर्नुहोस्:
      master declare @databasename varchar(255) सेट @databasename='MyDatabase.mdf' exec sp_dboption @databasename, N'single', N'true' -- गन्तव्य डाटाबेसलाई एकल-प्रयोगकर्ता मोडमा सेट गर्नुहोस् dbcc checkdb(@databasename,WDA_LOSS_REPAIR ) dbcc checkdb(@databasename,REPAIR_REBUILD) exec sp_dboption @databasename, N'single', N'false' -- गन्तव्य डाटाबेसलाई बहु-प्रयोगकर्ता मोडमा सेट गर्नुहोस्
      

      वक्तव्य

      dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
      

      मर्मत कार्य सञ्चालन गर्दा तपाइँको डाटाबेसमा केहि डाटा हराउन सक्छ।

      जबकि बयान

      dbcc checkdb(@databasename,REPAIR_REBUILD)
      

      मर्मत कार्यको क्रममा कुनै पनि डेटा हानि हुने छैन, तर यो धेरै समय खपत गर्ने छ।

      त्यसोभए यदि तपाइँ तत्काल हुनुहुन्न भने, तपाइँ पहिलो dbcc checkdb कथन मात्र प्रदर्शन गर्न प्रयास गर्न सक्नुहुन्छ, यदि त्यो कथनले डाटाबेस पुन: प्राप्त गर्न मद्दत गर्न सक्दैन भने, तपाइँ पहिलो र दोस्रो dbcc 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 ले अझै केही तालिकाहरूमा त्रुटिहरू रिपोर्ट गर्छ भने, तपाईंले प्रयास गर्न सक्नुहुन्छ। SQL Server तपाईँको डेटाबेसमा यी तालिकाहरू पुन: प्राप्त गर्नको लागि निर्मित आदेश DBCC CHECKTABLE। भ्रष्ट डाटाबेस फाइल 'MyDatabase.mdf' हो र तपाईंले मर्मत गर्न चाहनुभएको तालिका 'MyTable' हो भनी मान्नुहोस्, त्यसपछि तपाईंले यसलाई मर्मत गर्न निम्नानुसार गर्न सक्नुहुन्छ:
    1. Restart SQL Server.
    2. कुनै पनि अपरेशनहरू नगर्नुहोस्।
    3. In SQL Server व्यवस्थापन स्टुडियो, निम्न SQL कथनहरू कार्यान्वयन गर्नुहोस्:
      MyDatabase.mdf declare @dbname varchar(255) सेट @dbname='MyDatabase.mdf' exec sp_dboption @dbname, 'एकल प्रयोगकर्ता', 'true' dbcc checktable('MyTable',REPAIR_ALLOW_DATA_LOSS', REPAIR_ALLOW_DATA_LOSS',dbREPABTable'dbc checktable) ) exec sp_dboption @dbname, 'एकल प्रयोगकर्ता', 'false'
      

      वक्तव्य

      dbcc चेकटेबल ('MyTable',REPAIR_ALLOW_DATA_LOSS)
      

      मर्मत कार्य सञ्चालन गर्दा तपाईको तालिकामा केही डाटा हराउन सक्छ।

      जबकि बयान

      dbcc चेकटेबल ('MyTable',REPAIR_REBUILD)
      

      मर्मत कार्यको क्रममा कुनै पनि डेटा हानि हुने छैन, तर यो धेरै समय खपत गर्ने छ।

      त्यसोभए यदि तपाइँ तत्काल हुनुहुन्न भने, तपाइँ पहिलो dbcc चेकटेबल कथन मात्र प्रदर्शन गर्न प्रयास गर्न सक्नुहुन्छ, यदि त्यो कथनले डाटाबेस पुन: प्राप्ति गर्न मद्दत गर्न सक्दैन भने, तपाइँ पहिलो र दोस्रो dbcc चेकटेबल आदेशहरू प्रदर्शन गर्न सक्नुहुन्छ।

      तपाईंले सबै भ्रष्ट तालिकाहरूको लागि मर्मत कार्य पूरा गरेपछि, तपाईंले कल गर्न सक्नुहुन्छ

      dbcc checkdb ('MyDatabase.mdf')
      

      फेरि हेर्नको लागि डाटाबेसमा तालिकाहरू निश्चित छन् वा छैनन्।

    dbcc checktable आदेश बारे थप विस्तृत जानकारी मा पाउन सकिन्छ 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 तपाईको MDF डाटाबेसबाट डाटा रिकभर गर्न।