Коррупцияны калыбына келтир SQL Server MDF маалымат базасы

сен SQL Server MDF маалымат базасы бузулган, жоготууларды азайтуу үчүн андагы маалыматтарды калыбына келтирүү үчүн төмөнкү ыкмаларды колдонсоңуз болот:

Эскертүү: Маалыматтарды калыбына келтирүү операцияларын аткаруудан мурун, алгач бузулган MDF жана NDF маалымат базасы файлдарыңыздын камдык көчүрмөсүн алыңыз.

  1. Биринчиден, сиз аракет кыла аласыз SQL Server камтылган буйрук DBCC CHECKDB маалымат базасын калыбына келтирүү үчүн. Бузулган маалымат базасы файлы 'MyDatabase.mdf' деп ойлосоңуз, андагы маалыматтарды калыбына келтирүү үчүн төмөнкүдөй кылсаңыз болот:
    1. Резtart SQL Server.
    2. Эч кандай операция жасабаңыз.
    3. In SQL Server Management Studio, төмөнкү SQL билдирүүлөрүн аткарыңыз:
      use master declare @databasename varchar(255) set @databasename='MyDatabase.mdf' exec sp_dboption @databasename, N'single', N'true' -- Көздөгөн маалымат базасын бир колдонуучу режимине коюңуз dbcc checkdb(@databasename,REPAIR_LOSS_DATA) ) 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. Резtart SQL Server.
    2. Эч кандай операция жасабаңыз.
    3. In SQL Server Management Studio, төмөнкү SQL билдирүүлөрүн аткарыңыз:
      Use MyDatabase.mdf declare @dbname varchar(255) set @dbname='MyDatabase.mdf' exec sp_dboption @dbname,'бир колдонуучу','true' dbcc текшерүү таблицасы('Менин таблица',REPAIR_ALLOW_DATA_LOSS) dbcc текшерилүүчү(REPAIR_ALLOW_DATA_LOSS)REMyT_таблицасы'UILD_B ) exec sp_dboption @dbname,'бир колдонуучу','false'
      

      Арыз

      dbcc текшерүү таблицасы('Менин таблица', REPAIR_ALLOW_DATA_LOSS)
      

      оңдоо операциясын аткарып жатканда таблицаңыздагы кээ бир маалыматтардын жоголушуна алып келиши мүмкүн.

      Билдирүүдө

      dbcc текшерүү таблицасы('Менин таблица',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 базасынан маалыматтарды калыбына келтирүү үчүн.