فساد فاسد کړئ SQL Server د MDF ډیټابیس

کله چې تاسو SQL Server د MDF ډیټابیس فاسد دی ، تاسو کولی شئ پدې کې د ډیټا بیرته ترلاسه کولو لپاره لاندې میتودونه وکاروئ ، د زیان کمولو لپاره:

یادونه: مخکې له دې چې د ډیټا بیرته راستنیدو عملیات ترسره کړئ ، مهرباني وکړئ لومړی خپل فاسد MDF او NDF ډیټابیس فایلونه بیک اپ کړئ.

  1. له هرڅه دمخه ، تاسو کوښښ کولی شئ SQL Server جوړ شوی بولۍ د DBCC CHECKDB ستاسو د ډیټابیس راګرځول. د فاسدو ډیټابیس فایل فرض کول 'MyDat ډیابیس. mdf' دی ، نو تاسو کولی شئ په لاندې ډول د معلوماتو بیرته راګرځولو لپاره لاندې کار وکړئ:
    1. بیاکتنهtart SQL Server.
    2. هیڅ عملیات مه کوئ.
    3. In SQL Server د مدیریت سټوډیو ، لاندې د SQL بیانونه اجرا کړئ:
      ماسټر اعلان کړئ چې د ډیټابیس نوم ورچر (255) سیټ @ ډیټابیس نوم = 'MyDatbox.mdf' exec sp_dboptiondat databasename ، N'single '، N'true' - د ډیټابیس واحد - کارونکي حالت dbcc چیکډب ته تنظیم کړئ (@ ډیټابیس نوم ، REPAIR_ALLOW_DATA_LOSS ) د dbcc چیکډب (@ ډیټابیس نوم ، REPAIR_REBUILD) اجراییه sp_dboptiondat databasename ، N'single '، N'false' - د ډیټابیس ډیټابیس بیرته ملټي کارونکي حالت ته تنظیم کړئ.
      

      بیان

      د dbcc چیکډب (@ د ډیټابیس نوم ، REPAIR_ALLOW_DATA_LOSS)
      

      کیدی شي ستاسو د ډیټابیس کې د ډیټا ضایع کیدو لامل شي کله چې د ترمیم عملیات ترسره کوي.

      پداسې حال کې چې بیان

      د dbcc چیکډب (@ ډیټابیس نوم ، REPAIR_REBUILD)
      

      د ترمیم عملیاتو په جریان کې به د معلوماتو له لاسه ورکولو لامل نه شي ، مګر دا ډیر وخت نیسي.

      نو که تاسو عاجل نه یاست ، تاسو لومړی هڅه کولی شئ یوازې د dbcc دوهم چیک ډی بی بیان ترسره کړئ ، که چیرې دا بیان د ډیټابیس په ترلاسه کولو کې مرسته ونکړي ، نو تاسو کولی شئ د لومړي او دویم dbcc چیکډب حکمونه ترسره کړئ.

      د ترمیم عملیاتو وروسته ، تاسو زنګ وهلی شئ

      د dbcc چیکډب ('MyDatabase.mdf')
      

      بیا وګورو چې ایا ډیټابیس سم دی که نه.

      د dbcc چیکډب قوماندې په اړه نور تفصيلي معلومات موندلی شئ دلته https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. که د 1 میتود کارولو وروسته ، د dbcc چیکډب لاهم په ځینې جدولونو کې د غلطیو راپور ورکوي ، تاسو کوالی شئ هڅه وکړئ SQL Server ستاسو په ډیټابیس کې دا جدولونو بیرته ترلاسه کولو لپاره د کورټ انډ کمانډ DBCC چیک ټبل. د فاسد ډیټابیس فایل ګ Assل 'MyDatabase.mdf' دی او هغه جدول چې تاسو یې ترمیم کول غواړئ د 'MyTable' دی ، نو تاسو کولی شئ د دې ترمیم لپاره لاندې کار وکړئ:
    1. بیاکتنهtart SQL Server.
    2. هیڅ عملیات مه کوئ.
    3. In SQL Server د مدیریت سټوډیو ، لاندې د SQL بیانونه اجرا کړئ:
      د میډاټابیس.یمډیف اعلان کړئdbname varchar اعلان کړئ (255) سیټ @ dbname = 'MyDatabase.mdf' اجراییه sp_dboption @ dbname ، 'واحد کارونکی' ، 'ریښتیني' dbcc چیکټبل ('MyTable' ، REPAIR_ALLOW_DATA_LOSS) dbcc checktable ('MyTab ) اجرا کړئ sp_dboption @ dbname ، 'واحد کارونکی' ، 'غلط'
      

      بیان

      د dbcc چیکټبل ('MyTable'، REPAIR_ALLOW_DATA_LOSS)
      

      ممکن د ترمیم عملیات ترسره کولو په وخت ستاسو په میز کې د ځینې معلوماتو ضایع کیدو لامل شي.

      پداسې حال کې چې بیان

      د dbcc چیکټبل ('MyTable'، REPAIR_REBUILD)
      

      د ترمیم عملیاتو په جریان کې به د معلوماتو له لاسه ورکولو لامل نه شي ، مګر دا ډیر وخت نیسي.

      نو که تاسو عاجل نه یاست ، تاسو لومړی هڅه کولی شئ یوازې د dbcc دوهم چیک چیکینټ بیان کړئ ، که دا بیان د ډیټابیس په راټیټولو کې مرسته ونکړي ، نو تاسو کولی شئ د لومړي او دویم dbcc چیکټ کولو امرونه ترسره کړئ.

      وروسته له هغه چې تاسو د ټولو فاسدو میزونو لپاره د ترمیم عملیات بشپړ کړئ ، تاسو زنګ وهلی شئ

      د dbcc چیکډب ('MyDatabase.mdf')
      

      بیا به وګورو چې ایا په ډیټابیس کې میزونه تنظیم شوي دي که نه.

    د 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 ستاسو د MDF ډیټابیس څخه ډاټا ترلاسه کولو لپاره.