Ka soo kabato Musuqmaasuq SQL Server Macluumaadka MDF

Marka aad SQL Server Macluumaadka MDF waa musuqmaasuqeen, waxaad isticmaali kartaa hababkan soosocda si aad uga soo ceshato xogta ku jirta, si aad u yareysid khasaaraha:

Fiiro gaar ah: Kahor intaadan fulinin hawlgallada soo kabashada xogta, fadlan kaydso faylasha keydka xogta ee MDF & NDF marka hore.

  1. Ugu horreyntii, waad isku dayi kartaa SQL Server dhisay-in amarka DBCC CHECKDB si aad uga soo kabato keydka macluumaadkaaga. Haddii loo maleeyo in faylka keydka xogta la musuqmaasuqay uu yahay 'MyDatabase.mdf', markaa waxaad sameyn kartaa sida soo socota si aad uga soo kabato xogta ku jirta:
    1. Qaraarkatart SQL Server.
    2. Wax hawlgal ah ha sameyn.
    3. In SQL Server Maareynta Studio, fuliso bayaannada SQL ee soo socda:
      isticmaal macallin cadee @databasename varchar (255) set @ databasename = 'MyDatabase.mdf' exec sp_dboption @databasename, N'single ', N'true' - U deji sal-dhigida halka loogu talagay hal-adeegsade dbcc checkdb (@ databaseasename, REPAIR_ALLOW_DATA_LOSS) ) dbcc checkdb (@ databaseasename, REPAIR_REBUILD) fulinta sp_dboption @databasename, N'single ', N'false' - Dib u dhig saldhiga ujeeda dib ugu noqo qaabka isticmaalaha badan.
      

      Bayaanka

      dbcc checkdb (@ databaseasename, REPAIR_ALLOW_DATA_LOSS)
      

      waxay sababi kartaa luminta qaar ka mid ah xogta ku jirta keydkaaga xogta marka aad fulineyso howlaha dayactirka.

      Halka bayaanka

      dbcc checkdb (@ databaseasename, REPAIR_REBUILD)
      

      MA sababi doono wax xog lumis ah inta lagu jiro howlaha dayactirka, laakiin waa waqti badan.

      Markaa hadaadan ku jirin deg deg, waxaad marka hore isku dayi kartaa inaad fuliso qoraalka dbcc checkdb oo kaliya, haddii bayaankaasi uusan gacan ka geysan karin soo kabashada keydka, markaa waad fulin kartaa amarrada dbcc ee koowaad iyo labaad.

      Hawlgalka dayactirka ka dib, waad wici kartaa

      dbcc checkdb ('MyDatabase.mdf')
      

      mar kale si loo arko haddii keydka keydku uu go'an yahay iyo in kale.

      Faahfaahin faahfaahsan oo ku saabsan amarka dbcc checkdb ayaa laga heli karaa https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. Haddii ka dib markaad isticmaasho habka 1, dbcc checkdb ay wali ku soo wargelinayso khaladaadka miisaska qaarkood, waad isku dayi kartaa SQL Server ku dhex dhisay amarka DBCC Hubi in uu ka soo kabsado miisaskan ku jira keydka xogtaada. Haddii loo maleeyo in faylka keydka xogta la musuqmaasuqay uu yahay 'MyDatabase.mdf' miiska aad rabto inaad dayactirtana waa 'MyTable', markaa waxaad u samayn kartaa sida soo socota si aad u dayactirto:
    1. Qaraarkatart SQL Server.
    2. Wax hawlgal ah ha sameyn.
    3. In SQL Server Maareynta Studio, fuliso bayaannada SQL ee soo socda:
      isticmaal MyDatabase.mdf cadee @dbname varchar (255) set @ dbname = 'MyDatabase.mdf' exec sp_dboption @ dbname, 'single user', 'true' dbcc checktable ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbcc checktable ('MyTable', REPAIR ) ful sp_dboption @ dbname, 'hal isticmaale', 'been'
      

      Bayaanka

      hubinta dbcc ('MyTable', REPAIR_ALLOW_DATA_LOSS)
      

      waxay sababi kartaa luminta xogta qaar ka mid ah miiskaaga markaad fulineyso howlaha dayactirka.

      Halka bayaanka

      hubinta dbcc ('MyTable', REPAIR_REBUILD)
      

      MA sababi doono wax xog lumis ah inta lagu jiro howlaha dayactirka, laakiin waa waqti badan.

      Markaa hadaadan ku jirin deg deg, waxaad marka hore isku dayi kartaa inaad fuliso bayaanka hubinta dbcc labaad oo kaliya, haddii bayaankaasi uusan gacan ka geysan karin soo kabashada keydka, markaa waad sameyn kartaa amarrada hubinta dbcc ee koowaad iyo labaad.

      Kadib markaad dhammaystirto howlaha dayactirka dhammaan miisaska musuqmaasuqa, waad wici kartaa

      dbcc checkdb ('MyDatabase.mdf')
      

      markale si loo arko haddii miisaska keydka keydku ay go'an yihiin iyo in kale.

    Faahfaahin dheeraad ah oo faahfaahsan oo ku saabsan dbcc amarka hubinta ayaa laga heli karaa https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. Haddii habka 1 iyo 2 aysan wali hagaajin karin xogta musuqmaasuqa ama miisaska, ama haddii qaababkani aysan soo kaban karin xogta aad rabto, markaa waad isticmaali kartaa DataNumen SQL Recovery si aad uga soo ceshato xogta keydkaaga MDF.