Mayar da rashawa SQL Server Bayanin MDF

A lokacin da ka SQL Server MDF bayanai sun lalace, zaka iya amfani da waɗannan hanyoyin don dawo da bayanai a ciki, don rage asara:

Lura: Kafin aiwatar da kowane aikin dawo da bayanai, don Allah madadin fayilolin rumbun adana bayananku na MDF & NDF da farko.

  1. Da farko dai, zaku iya gwadawa SQL Server ginannen umarni Farashin DBCC don dawo da bayanan ka. Fahimtar cewa gurbataccen fayil din bayanan shine 'MyDatabase.mdf', to zaka iya yin kamar haka don dawo da bayanan ciki:
    1. Restart SQL Server.
    2. Kada ayi wani aiki.
    3. In SQL Server Gidan Gudanarwa, aiwatar da bayanan SQL masu zuwa:
      amfani da babban sheda @databasename varchar (255) set @ databasename = 'MyDatabase.mdf' exec sp_dboption @databasename, N'single ', N'true' - Sanya makarrabar makoma zuwa mai amfani da yanayin mai amfani dbcc checkdb (@ databasename, REPAIR_ALLOW_DATA_LOSS) ) dbcc checkdb (@ databasename, REPAIR_REBUILD) zartar da sp_dboption @databasename, N'single ', N'false' - Sanya tushen matattarar bayanai zuwa yanayin mai amfani da yawa
      

      Bayanin

      dbcc checkdb (@ sunan data, REPAIR_ALLOW_DATA_LOSS)
      

      na iya haifar da asarar wasu bayanai a cikin rumbun adana bayanan ka yayin aiwatar da aikin gyara.

      Yayin da sanarwa

      dbcc checkdb (@ bayanan bayanai, REPAIR_REBUILD)
      

      BA zai haifar da asarar data ba yayin aikin gyara, amma ya fi cin lokaci.

      Don haka idan baku cikin gaggawa, da farko zaku iya kokarin aiwatar da bayanan dbcc na duba kawai, idan wannan bayanin ba zai iya taimakawa wajen dawo da bayanan ba, to kuna iya aiwatar da umarnin dbcc na farko da na biyu.

      Bayan aikin gyara, zaka iya kira

      dbcc checkdb ('MyDatabase.mdf')
      

      sake ganin ko ajiyar kayan ajiyar bayanai take ko babu.

      Za a iya samun cikakken bayani game da dbcc checkdb command a https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. Idan bayan amfani da hanyar 1, dbcc checkdb har yanzu yana ba da rahoton kurakurai a cikin wasu tebur, za ku iya gwadawa SQL Server ginannen umarni DBCC CHECKTABLE don dawo da waɗannan teburin a cikin bayanan ku. Idan akace fayil din data lalata shine 'MyDatabase.mdf' kuma teburin da kake son gyara shine 'MyTable', to zaka iya yin kamar haka don gyara shi:
    1. Restart SQL Server.
    2. Kada ayi wani aiki.
    3. In SQL Server Gidan Gudanarwa, aiwatar da bayanan SQL masu zuwa:
      yi amfani da MyDatabase.mdf ya bayyana @dbname varchar (255) saita @ dbname = 'MyDatabase.mdf' exec sp_dboption @ dbname, 'mai amfani ɗaya', 'gaskiya' dbcc mai dubawa ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbcc ana bincikar ('MyTable', REPAIR ) aiwatar sp_dboption @ dbname, 'mai amfani ɗaya', 'ƙarya'
      

      Bayanin

      Tabbacin dbcc ('MyTable', REPAIR_ALLOW_DATA_LOSS)
      

      na iya haifar da asarar wasu bayanai a teburinka yayin aiwatar da aikin gyara.

      Yayin da sanarwa

      Tabbacin dbcc ('MyTable', REPAIR_REBUILD)
      

      BA zai haifar da asarar data ba yayin aikin gyara, amma ya fi cin lokaci.

      Don haka idan baku kasance cikin gaggawa ba, da farko zaku iya kokarin aiwatar da bayanan duba dbcc na biyu kawai, idan wannan bayanin ba zai iya taimakawa wajen dawo da bayanan ba, to kuna iya aiwatar da umarnin duba na farko da na biyu na dbcc.

      Bayan kun gama aikin gyara ga dukkan lalatattun tebur, kuna iya kira

      dbcc checkdb ('MyDatabase.mdf')
      

      sake ganin ko tebura a cikin rumbun adana bayanan an gyara su ko babu.

    Za a iya samun ƙarin cikakken bayani game da umarnin duba dbcc a https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. Idan hanya ta 1 da ta 2 har yanzu basu iya gyara gurbatattun bayanai ko tebura ba, ko kuma idan waɗannan hanyoyin ba za su iya dawo da bayanan da kuke so ba, to kuna iya amfani DataNumen SQL Recovery don dawo da bayanan daga rumbun adana bayananku na MDF.