بدعنواني کي بحال ڪريو SQL Server MDF ڊيٽابيس

۽ جڏھن اوھان کي SQL Server MDF ڊيٽابيس خراب آهي، توهان هيٺ ڏنل طريقا استعمال ڪري سگهو ٿا ان ۾ ڊيٽا کي بحال ڪرڻ لاء، نقصان کي گهٽائڻ لاء:

نوٽ: ڪنهن به ڊيٽا وصولي جي عملن کي انجام ڏيڻ کان پهريان، مهرباني ڪري پهرين پنهنجي خراب ٿيل MDF ۽ NDF ڊيٽابيس فائلن جو بيڪ اپ ڪريو.

  1. سڀ کان پهريان، توهان ڪوشش ڪري سگهو ٿا SQL Server تعمير ٿيل حڪم ڊي بي سي سي چيڪ ڊي بي بي توهان جي ڊيٽابيس کي بحال ڪرڻ لاء. فرض ڪيو ته خراب ڊيٽابيس فائل 'MyDatabase.mdf' آهي، پوء توهان ان جي اندر ڊيٽا کي بحال ڪرڻ لاء هيٺيون ڪم ڪري سگهو ٿا:
    1. ٻيهرtart 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 چيڪ ڊي بي بيان صرف، جيڪڏهن اهو بيان ڊيٽابيس کي بحال ڪرڻ ۾ مدد نه ڪري سگهي، ته پوء توهان پهرين ۽ ٻيو dbcc چيڪ ڊي بي ڪمانڊ انجام ڪري سگهو ٿا.

      مرمت جي آپريشن کان پوء، توهان کي سڏ ڪري سگهو ٿا

      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 مئنيجمينٽ اسٽوڊيو، هيٺين SQL بيانن تي عمل ڪريو:
      استعمال ڪريو MyDatabase.mdf declare @dbname varchar(255) set @dbname='MyDatabase.mdf' exec sp_dboption @dbname، 'واحد استعمال ڪندڙ'، 'سچو' dbcc چيڪ ٽيبل ) exec sp_dboption @dbname، 'اڪيلو استعمال ڪندڙ'، 'غلط'
      

      بيان

      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 ڊيٽابيس مان ڊيٽا حاصل ڪرڻ لاء.