Авлигачдыг сэргээ SQL Server БСХС-ийн мэдээллийн сан

та үед SQL Server БСХС-ийн мэдээллийн бааз нь авлигад нэрвэгдсэн тул та дараахь аргуудыг ашиглан өгөгдлийг сэргээж, алдагдлыг бууруулах боломжтой.

Тэмдэглэл: Мэдээлэл сэргээх аливаа үйлдлийг хийхийн өмнө эхлээд авлигад өртсөн БСХС ба NDF мэдээллийн сангийн файлыг нөөцлөөрэй.

  1. Юуны өмнө та оролдож болно SQL Server суулгагдсан тушаал DBCC CHECKDB мэдээллийн баазаа сэргээх. Өгөгдлийн сангийн эвдэрсэн файлыг 'MyDatabase.mdf' гэж үзвэл доторх өгөгдлийг сэргээхийн тулд дараахь зүйлийг хийж болно.
    1. Restart SQL Server.
    2. Аливаа үйлдлийг бүү хий.
    3. In SQL Server Менежментийн студид дараах SQL мэдэгдлийг ажиллуулна уу.
      master declare ашиглах @databasename varchar (255) set @ databasename = 'MyDatabase.mdf' exec sp_dboption @databasename, N'single ', N'true' - очих хэрэглэгчийн мэдээллийн санг нэг хэрэглэгчийн горимд тохируулах dbcc checkdb (@ databasename, REPAIR_ALLOW_DATA_OS ) 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 checkdb мэдэгдлийг хийж үзээрэй, хэрэв уг мэдэгдэл нь өгөгдлийн санг сэргээхэд тус болохгүй бол та эхний ба хоёр дахь dbcc checkdb тушаалуудыг хийж болно.

      Засварын ажил дууссаны дараа та дуудаж болно

      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. Restart SQL Server.
    2. Аливаа үйлдлийг бүү хий.
    3. In SQL Server Менежментийн студид дараах SQL мэдэгдлийг ажиллуулна уу.
      MyDatabase.mdf зарлах @dbname varchar (255) set @ dbname = 'MyDatabase.mdf' exec sp_dboption @ dbname, 'single user', 'true' dbcc checktable ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbcc checktable ' ) 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 БСХС-ийн мэдээллийн сангаас өгөгдлийг сэргээх.