ເມື່ອໃຊ້ Microsoft SQL Server ເພື່ອແນບຫຼືເຂົ້າເຖິງໄຟລ໌ຖານຂໍ້ມູນ MDF ທີ່ເສຍຫາຍ, ທ່ານອາດຈະພົບກັບຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດທີ່ເຮັດໃຫ້ເກີດຄວາມສັບສົນ. ຂ້າງລຸ່ມນີ້, ພວກເຮົາຈະລາຍຊື່ຂໍ້ຜິດພາດທັງຫມົດ, ຈັດຮຽງຕາມຄວາມຖີ່. ສໍາລັບແຕ່ລະຂໍ້ຜິດພາດ, ພວກເຮົາຈະອະທິບາຍອາການຂອງມັນ, ອະທິບາຍສາເຫດທີ່ແນ່ນອນ, ແລະສະຫນອງໄຟລ໌ຕົວຢ່າງພ້ອມກັບໄຟລ໌ທີ່ຖືກແກ້ໄຂໂດຍ. DataNumen SQL Recovery. ນີ້ຈະຊ່ວຍໃຫ້ທ່ານເຂົ້າໃຈຄວາມຜິດພາດເຫຼົ່ານີ້ໄດ້ດີຂຶ້ນ. ຫມາຍເຫດ 'xxx.MDF' ຈະເປັນຕົວແທນຂອງຊື່ທີ່ເສຍຫາຍຂອງທ່ານ SQL Server ໄຟລ໌ຖານຂໍ້ມູນ MDF.
ອີງໃສ່ SQL Server ຫຼືຂໍ້ຄວາມຜິດພາດ CHECKDB, ມີສາມປະເພດຂອງຄວາມຜິດພາດ:
-
- ຄວາມຜິດພາດການຈັດສັນ: ພວກເຮົາຮູ້ວ່າຂໍ້ມູນໃນໄຟລ໌ MDF & NDF ຖືກຈັດສັນເປັນ ຫນ້າ. ແລະມີບາງຫນ້າພິເສດທີ່ຖືກນໍາໃຊ້ສໍາລັບການຄຸ້ມຄອງການຈັດສັນ, ດັ່ງຕໍ່ໄປນີ້:
ປະເພດໜ້າ | ລາຍລະອຽດ |
ຫນ້າ GAM | ເກັບຮັກສາຂໍ້ມູນແຜນທີ່ການຈັດສັນທົ່ວໂລກ (GAM). |
ຫນ້າ SGAM | ເກັບຮັກສາຂໍ້ມູນແຜນທີ່ຈັດສັນທົ່ວໂລກ (SGAM) ທີ່ແບ່ງປັນ. |
ຫນ້າ IAM | ເກັບຮັກສາຂໍ້ມູນແຜນທີ່ຈັດສັນດັດສະນີ (IAM). |
ຫນ້າ PFS | ເກັບຮັກສາຂໍ້ມູນການຈັດສັນ PFS. |
ຖ້າໜ້າການຈັດສັນໃດໜຶ່ງຂ້າງເທິງມີຂໍ້ຜິດພາດ, ຫຼືຂໍ້ມູນທີ່ຈັດການໂດຍໜ້າການຈັດສັນເຫຼົ່ານີ້ບໍ່ສອດຄ່ອງກັບຂໍ້ມູນການຈັດສັນ, ຫຼັງຈາກນັ້ນ. SQL Server ຫຼື CHECKDB ຈະລາຍງານ ຄວາມຜິດພາດການຈັດສັນ.
- ຄວາມຜິດພາດຄວາມສອດຄ່ອງ: ສໍາລັບການ ຫນ້າ ທີ່ຖືກນໍາໃຊ້ເພື່ອເກັບຮັກສາຂໍ້ມູນ, ລວມທັງຫນ້າຂໍ້ມູນແລະຫນ້າດັດສະນີ, ຖ້າ SQL Server ຫຼື CHECKDB ຊອກຫາຄວາມບໍ່ສອດຄ່ອງລະຫວ່າງເນື້ອໃນຂອງຫນ້າແລະ checksum, ຫຼັງຈາກນັ້ນພວກເຂົາຈະລາຍງານ ຄວາມຜິດພາດຄວາມສອດຄ່ອງ.
- ຂໍ້ຜິດພາດອື່ນໆທັງໝົດ: ອາດຈະມີຂໍ້ຜິດພາດອື່ນໆທີ່ບໍ່ຕົກຢູ່ໃນສອງປະເພດຂ້າງເທິງ.
- xxxx.mdf ບໍ່ແມ່ນໄຟລ໌ຖານຂໍ້ມູນຫຼັກ. (Microsoft SQL Server, ຂໍ້ຜິດພາດ: 5171)
- ສ່ວນຫົວຂອງໄຟລ໌ 'xxxx.mdf' ບໍ່ແມ່ນສ່ວນຫົວຂອງໄຟລ໌ຖານຂໍ້ມູນທີ່ຖືກຕ້ອງ. ຄຸນສົມບັດ FILE SIZE ບໍ່ຖືກຕ້ອງ. (Microsoft SQL Server, ຄວາມຜິດພາດ: 5172)
- SQL Server ກວດພົບຄວາມຜິດພາດ I/O ທີ່ອີງໃສ່ຄວາມສອດຄ່ອງຕາມເຫດຜົນ: checksum ບໍ່ຖືກຕ້ອງ
- SQL Server ກວດພົບຂໍ້ຜິດພາດ I/O ທີ່ອີງໃສ່ຄວາມສອດຄ່ອງຕາມເຫດຜົນ: ໜ້າ ຈີກ
- ທ່ານລຶບບາງບັນທຶກຫຼືບາງຕາຕະລາງໃນຖານຂໍ້ມູນໂດຍຄວາມຜິດພາດ.
SQL Server ມີເຄື່ອງມືໃນຕົວທີ່ເອີ້ນວ່າ DBCC, ເຊິ່ງມີ ກວດສອບ ແລະ ຕາຕະລາງກວດສອບ ທາງເລືອກທີ່ສາມາດຊ່ວຍແກ້ໄຂຖານຂໍ້ມູນ MDF ທີ່ເສຍຫາຍ. ຢ່າງໃດກໍຕາມ, ສໍາລັບໄຟລ໌ຖານຂໍ້ມູນ MDB ເສຍຫາຍຮ້າຍແຮງ, DBCC ກວດສອບ ແລະ ຕາຕະລາງກວດສອບ ຍັງຈະລົ້ມເຫລວ.
ຄວາມຜິດພາດຄວາມສອດຄ່ອງທີ່ລາຍງານໂດຍ CHECKDB:
- SQL Server ກວດພົບຄວາມຜິດພາດ I/O ທີ່ອີງໃສ່ຄວາມສອດຄ່ອງຕາມເຫດຜົນ: checksum ບໍ່ຖືກຕ້ອງ
- ແຖວໃນ sys.xxx ບໍ່ມີແຖວທີ່ກົງກັນໃນ sys.xxx.
- ຂໍ້ຜິດພາດຂອງຕາຕະລາງ: ID ວັດຖຸ ##, ID ດັດຊະນີ ## ຈະຖືກສ້າງໃຫມ່.
- ດັດຊະນີຕາຕະລາງລະບົບນີ້ບໍ່ສາມາດສ້າງໃໝ່ໄດ້.
- ID ວັດຖຸ ##, ID ດັດຊະນີ ##, ID ການແບ່ງປັນ ##, ID ຫົວໜ່ວຍຈັດສັນ ## (ປະເພດບໍ່ຮູ້ຈັກ), ID ຫນ້າ (##: 560) ມີ ID ຫນ້າທີ່ບໍ່ຖືກຕ້ອງຢູ່ໃນສ່ວນຫົວຂອງຫນ້າ.
ຄວາມຜິດພາດການຈັດສັນລາຍງານໂດຍ CHECKDB:
- Index Allocation Map (IAM) Page ແມ່ນຊີ້ໄປໂດຍຕົວຊີ້ຕໍ່ໄປຂອງໜ້າ IAM
- ຂອບເຂດ (##:##) ໃນ ID ຖານຂໍ້ມູນ ## ຖືກໝາຍວ່າຈັດສັນຢູ່ໃນ GAM, ແຕ່ບໍ່ມີ SGAM ຫຼື IAM ໄດ້ຈັດສັນມັນ.
ຂໍ້ຜິດພາດອື່ນໆທັງໝົດທີ່ລາຍງານໂດຍ CHECKDB:
- ລົ້ມເຫລວ:(-#######) ການດໍາເນີນການສອບຖາມ “DBCC CHECKDB(xxxx) WITH NO_INFOMSGS” ລົ້ມເຫລວໂດຍມີຂໍ້ຜິດພາດຕໍ່ໄປນີ້: “xxxx”.
- I/O ຂໍ້ຜິດພາດ (ID ໜ້າບໍ່ດີ) ກວດພົບໃນລະຫວ່າງການອ່ານທີ່ຊົດເຊີຍ 0x###### ໃນໄຟລ໌ 'xxxx.mdf'.
- ລະບົບບໍ່ສາມາດເປີດໃຊ້ໄດ້ພຽງພໍຂອງຖານຂໍ້ມູນທີ່ຈະສ້າງບັນທຶກ
- ການສູນເສຍຂໍ້ມູນໃນເວລາທີ່ການສ້ອມແປງດ້ວຍ CHECKDB
- ປາກົດວ່າໄຟລ໌ໄດ້ຖືກຕັດໂດຍລະບົບປະຕິບັດການ.
- ໃນລະຫວ່າງການເຮັດໃຫມ່ຂອງການປະຕິບັດການເຂົ້າສູ່ລະບົບໃນຖານຂໍ້ມູນ 'xxxx', ມີຄວາມຜິດພາດໄດ້ເກີດຂຶ້ນຢູ່ໃນບັນທຶກ ID.