Buyisa Urhwaphilizo SQL Server Idatha yeMDF

Xa u SQL Server I-database ye-MDF yonakele, ungasebenzisa ezi ndlela zilandelayo ukubuyisela idatha kuyo, ukunciphisa ilahleko:

Qaphela: Phambi kokuba wenze nayiphi na imisebenzi yokubuyisela idatha, nceda ugcine iifayile zakho zedatha ye-MDF kunye ne-NDF kuqala.

  1. Okokuqala, unokuzama SQL Server umyalelo eyakhelwe-ngaphakathi DBCC CHECKDB ukubuyisela idatabase yakho. Ukucinga ukuba ifayile yedatha eyonakeleyo yi 'MyDatabase.mdf', ngoko unokwenza ngolu hlobo lulandelayo ukubuyisela idatha ngaphakathi kuyo:
    1. Restart SQL Server.
    2. Musa ukwenza nayiphi na imisebenzi.
    3. In SQL Server Isitudiyo soLawulo, yenza ezi nkcazo zilandelayo zeSQL:
      sebenzisa master declare @databasename varchar(255) set @databasename='MyDatabase.mdf' exec sp_dboption @databasename, N'single', N'true' -- Cwangcisa indawo yogcino-lwazi kwindlela yomsebenzisi omnye dbcc checkdb(@databasename,REPAIR_DATA_ALLOW_ ) dbcc checkdb(@igama ledatha,REPAIR_REBUILD) exec sp_dboption @databasename, N'single', N'false' -- Cwangcisa indawo yogcino-siseko umva kwimowudi yabasebenzisi abaninzi
      

      Ingxelo

      dbcc checkdb(@igama ledatha,REPAIR_ALLOW_DATA_LOSS)
      

      kunokubangela ilahleko yedatha ethile kwidatabase yakho xa usenza umsebenzi wokulungisa.

      Ngelixa ingxelo

      dbcc checkdb(@igama ledatha,REPAIR_REBUILD)
      

      NGEKE kubangele nayiphi na ilahleko yedatha ngexesha lomsebenzi wokulungisa, kodwa kudla ixesha elininzi.

      Ke ukuba awungxamisekanga, ungazama kuqala ukwenza ingxelo yesibini ye-dbcc checkdb kuphela, ukuba loo ngxelo ayinakunceda ukubuyisela isiseko sedatha, ngoko ungenza imiyalelo yokuqala neyesibini ye-dbcc checkdb.

      Emva komsebenzi wokulungisa, ungafowuna

      dbcc checkdb('MyDatabase.mdf')
      

      kwakhona ukubona ukuba i-database ilungisiwe okanye hayi.

      Ulwazi oluthe vetshe malunga nomyalelo we-dbcc checkdb unokufumaneka apha https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. Ukuba emva kokusebenzisa indlela yoku-1, i-dbcc checkdb isaxela iimpazamo kwezinye iitafile, ungazama SQL Server eyakhelwe-ngaphakathi umyalelo DBCC CHECKTABLE ukubuyisela ezi tafile kuvimba wakho wedatha. Ucinga ukuba ifayile yedatha eyonakeleyo ithi 'MyDatabase.mdf' kwaye itafile ofuna ukuyilungisa ithi 'MyTable', emva koko unokwenza oku kulandelayo ukuyilungisa:
    1. Restart SQL Server.
    2. Musa ukwenza nayiphi na imisebenzi.
    3. In SQL Server Isitudiyo soLawulo, yenza ezi nkcazo zilandelayo zeSQL:
      sebenzisa i-MyDatabase.mdf yazisa @dbname varchar(255) iseti @dbname='MyDatabase.mdf' exec sp_dboption @dbname,'umsebenzisi omnye','inyani' ye-dbcc yokutshekisha('MyTable',REPAIR_ALLOW_DATA_LOSS),'I-PATcc_LOSS itheyibhile (I-PATcc_LOSS) ) yenza sp_dboption @dbname,'umsebenzisi omnye','ubuxoki'
      

      Ingxelo

      dbcc checktable('MyTable',REPAIR_ALLOW_DATA_LOSS)
      

      kunokubangela ilahleko yedatha ethile kwitafile yakho xa usenza umsebenzi wokulungisa.

      Ngelixa ingxelo

      i-dbcc checktable('Itafile yam',REPAIR_REBUILD)
      

      NGEKE kubangele nayiphi na ilahleko yedatha ngexesha lomsebenzi wokulungisa, kodwa kudla ixesha elininzi.

      Ke ukuba awungxamisekanga, ungazama kuqala ukwenza ingxelo yesibini ye-dbcc yokutshekisha kuphela, ukuba eso ngxelo ayinakunceda ukubuyisela isiseko sedatha, ngoko ungenza imiyalelo yokuqala neyesibini ye-dbcc yokutshekisha.

      Emva kokuba ugqibezele umsebenzi wokulungisa zonke iitafile ezonakeleyo, ungafowuna

      dbcc checkdb('MyDatabase.mdf')
      

      kwakhona ukubona ukuba iitafile ezikwisiseko sedatha zilungisiwe okanye hayi.

    Ulwazi oluthe vetshe malunga nomyalelo we-dbcc checktable inokufumaneka apha https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. Ukuba indlela 1 kunye nesi-2 ayinako ukulungisa isiseko sedatha esonakeleyo okanye iitafile, okanye ukuba ezi ndlela azikwazi ukubuyisela idatha oyifunayo, ngoko ungasebenzisa DataNumen SQL Recovery ukubuyisela idata kwidatabase yakho yeMDF.