ตัวเลือกของบรรณาธิการ:

การโฆษณา

บ้าน - ซอฟต์แวร์
ความสนใจ!!! เกิดข้อผิดพลาดขณะอัปเดตข้อมูลหลังการปรับโครงสร้างครั้งล่าสุด อัปเดตซ้ำหรือไม่ ข้อผิดพลาด "เกิดข้อผิดพลาดร้ายแรงในระหว่างกระบวนการอัปเดตของฐานข้อมูล" เกิดข้อผิดพลาดร้ายแรงระหว่างการอัปเดต 1c

เราย้ายไปที่ เซิร์ฟเวอร์ใหม่- มันรัน SQL และ 1C เมื่อเทียบกับอันเก่ามันเจ๋งกว่ามาก และการทดสอบของ Gilev ก็ยืนยันสิ่งนี้เช่นกัน: เทียบกับ 10-15 บนเซิร์ฟเวอร์เก่า มันให้ 39 ดังนั้นทันทีหลังจากการซื้อ เราจึงโอนฐานข้อมูลและเริ่มทำงาน

แต่เมื่อถึงจุดหนึ่งก็มีบางอย่างผิดพลาด - ผู้ใช้เริ่มบ่น ทำงานช้า- เราได้ทำการตั้งค่าบางอย่างสำหรับเซิร์ฟเวอร์และบริการ (อันไหนเป็นหัวข้อของโพสต์แยกต่างหาก) และตัดสินใจรีบูตเซิร์ฟเวอร์ โชคดีที่ความเร็วในการรีบูตคือ 2 นาที (บนเซิร์ฟเวอร์อื่นสูงสุด 10 นาที) หลังจากนี้ เมื่อเข้าสู่ 1C เราได้รับข้อความต่อไปนี้:

"ความสนใจ!!! เกิดข้อผิดพลาดขณะอัปเดตข้อมูลหลังการปรับโครงสร้างครั้งล่าสุด ฉันควรอัปเดตซ้ำหรือไม่ "ไม่เชิง"

หลังจากคลิก "ใช่" สิ่งต่อไปนี้จะปรากฏขึ้น:

“ตรวจพบการดำเนินการบันทึกการกำหนดค่าที่ไม่สมบูรณ์ คุณต้องดำเนินการให้เสร็จสิ้นเพื่อดำเนินการต่อ”

สิ่งแรกที่ฉันตัดสินใจทำคือ CHECKDB ใน Managment Studio - หลังจากรอ 2 ชั่วโมง (ฐานข้อมูล 500 GB) - ทุกอย่างเรียบร้อยดี

ฉันพบข้อมูลบนอินเทอร์เน็ตว่ามีข้อผิดพลาดเดียวกันนี้เกิดขึ้นระหว่างการอัปเดตแบบไดนามิก

โซลูชันที่เสนอทางออนไลน์ไม่ได้ช่วยทันที แต่เมื่อรวมกับการดำเนินการอื่นๆ ที่พวกเขาให้ผลลัพธ์ แล้วฉันทำอะไร:

สารละลาย:

  1. สิ่งที่ขาดหายไปสำหรับโซลูชันจากเครือข่าย:

sp_configure 'อนุญาตการอัปเดต', 1
กำหนดค่าใหม่ด้วยการแทนที่
ไป

2. ใส่ฐานข้อมูลเข้าสู่โหมดการกู้คืน

แก้ไขฐานข้อมูลชุดฉุกเฉิน SINGLE_USER

3. เราทำการทดสอบฐานข้อมูล:

dbcc checkdb('db_name', REPAIR_ALLOW_DATA_LOSS)

4. ออกจากฐานข้อมูลจากโหมดการกู้คืน:

แก้ไขชุดฐานข้อมูลออนไลน์ MULTI_USER

5. โดยหลักการแล้ว หากคุณแน่ใจว่าทุกอย่างโอเคกับฐานแล้ว คุณก็ไม่จำเป็นต้องทำข้อ 2-4 ต่อไป เราจะเรียกใช้แบบสอบถามสองรายการในตัวสร้างโปรไฟล์ SQL:

ลบออกจากการกำหนดค่าโดยที่ FileName = 'กระทำ'
ลบออกจากการกำหนดค่าโดยที่ FileName = 'dbStruFinal'

บันทึกเหล่านี้มีหน้าที่รับผิดชอบในการอัปเดตแบบไดนามิก - คุณไม่จำเป็นต้องกลัวที่จะลบออก

ในแบบสอบถามฐานข้อมูลเวอร์ชันทำงาน:

เลือก * จาก Config WHERE FileName = 'commit'

เลือก * จาก Config WHERE FileName = 'dbStruFinal'

จะว่างเปล่า

6. คืนการตั้งค่า:

sp_configure 'อนุญาตการอัปเดต', 0
ไป

7. หลังจากนี้ เราก็สามารถเปิดตัว Configurator ได้ และฐานข้อมูลก็เริ่มทำงาน

นอกจากนี้ ฐานสามารถเริ่มทำงานได้หลังจากลบแฟล็กแรกออกแล้ว

แซนด์บ็อกซ์

อำนาจ 18 กันยายน 2556 เวลา 15:24 น

1C, การกู้คืนการกำหนดค่า ฐานข้อมูลโดยใช้ MSSQL

ครั้งหนึ่งฉันพบปัญหา: เมื่ออัปเดตการกำหนดค่าจากที่เก็บ เกิดข้อผิดพลาดและปิด 1C

เมื่อปรากฏในภายหลัง ที่เก็บข้อมูลการกำหนดค่าถูกทำลาย และเมื่ออัปเดตการกำหนดค่า การกำหนดค่าฐานข้อมูลก็ถูกลบออกจากที่เก็บข้อมูลด้วย เกิดข้อผิดพลาดที่คล้ายกันก่อนหน้านี้ระหว่างการอัปเดตความปลอดภัยของข้อมูลแบบไดนามิก

เพราะ ปัญหานี้เกิดขึ้นมากกว่าหนึ่งครั้งและตัดสินใจแบ่งปันทางเลือกในการรักษา

ครั้งถัดไปที่คุณเริ่มตัวกำหนดค่า มีข้อผิดพลาดปรากฏขึ้น: “โปรดทราบ!!! เกิดข้อผิดพลาดขณะอัปเดตข้อมูลหลังการปรับโครงสร้างครั้งล่าสุด ฉันควรอัปเดตซ้ำหรือไม่ หากคำตอบคือใช่ เราได้รับข้อความ: “ตรวจพบการดำเนินการบันทึกการกำหนดค่าที่ไม่สมบูรณ์ หากต้องการทำงานต่อ คุณต้องดำเนินการให้เสร็จสิ้น” หลังจากนั้นแอปพลิเคชันจะปิดลง

เมื่อวิเคราะห์ปัญหานี้ พบวิธีแก้ไขปัญหาหลายประการ แต่ละวิธีทำงานในกรณีที่แตกต่างกัน

ตัวเลือก 1 (หากคุณมีข้อมูลสำรอง SQL พร้อมสำเนาที่มีการกำหนดค่าเหมือนกัน):

มีการปรับใช้สำเนาความปลอดภัยของข้อมูล และดำเนินการตามคำขอต่อไปนี้:
ใช้ GO DELETE FROM .. GO INSERT INTO .. ​​​​SELECT * FROM .. GO
ในกรณีนี้ ตารางที่จัดเก็บการกำหนดค่าความปลอดภัยของข้อมูลจะถูกเติมใหม่ ขอแนะนำให้ทดสอบและแก้ไขความปลอดภัยของข้อมูลหลังการดำเนินการนี้

ตัวเลือก 2 (หากไม่มีข้อมูลสำรอง):

ถึง ตัวเลือกนี้หันไปหาฟางเส้นสุดท้าย เพราะ การกำหนดค่าอยู่ระหว่างการพัฒนาและพวกเขาลืมเรื่องการสำรองข้อมูลไปเล็กน้อยโดยอาศัยพื้นที่เก็บข้อมูล
ในฐานข้อมูล สองระเบียนจะถูกลบออกจากตาราง "กำหนดค่า" โดยค่าในคอลัมน์ "ชื่อไฟล์" - dbStruFinal และคอมมิต

แบบสอบถามต่อไปนี้ถูกดำเนินการ:
ใช้ไปลบจาก
WHERE FileName = "dbStruFinal" ไปลบจาก .

WHERE FileName = "กระทำ" GO

น่าแปลกที่ฐานมีชีวิตขึ้นมา

แท็ก: 1C Enterprise 8.2, SQL, การกู้คืนการกำหนดค่า บทความนี้ไม่ต้องแสดงความคิดเห็นเนื่องจากผู้เขียนยังไม่ได้เป็นสมาชิกเต็มรูปแบบของชุมชน คุณจะสามารถติดต่อผู้เขียนได้หลังจากที่เขาได้รับเท่านั้นเมื่อทำงานใน 1C:Enterprise ข้อความต่อไปนี้อาจปรากฏขึ้น: “ในการทำงานกับ

เวอร์ชันใหม่ 1C:องค์กรต้องผ่านการเปลี่ยนแปลงฐานข้อมูล" เหตุใดหน้าต่างนี้จึงปรากฏขึ้น และฉันจะแก้ไขข้อผิดพลาดได้อย่างไรในกรณีส่วนใหญ่ สาเหตุของการปรากฏของหน้าต่างคือการเปลี่ยนแปลงล่าสุดของโปรแกรม รุ่นที่ล้าสมัยแพลตฟอร์มไปสู่แพลตฟอร์มที่ใหม่กว่า บนแพลตฟอร์มที่แตกต่างกัน

ฐานข้อมูล 1C

ถูกสร้างขึ้นด้วยวิธีของมันเองและมีองค์ประกอบที่แตกต่างกันออกไป สิ่งที่คุณต้องทำคือแปลงฐานข้อมูล (โครงสร้างที่สอดคล้องกับแพลตฟอร์มที่ล้าสมัย) ให้เป็นรูปแบบใหม่ล่าสุด การแปลงฐานข้อมูลขั้นตอนนี้ง่าย แต่ขอแนะนำให้สร้างก่อน รุ่นที่ล้าสมัยสำเนาสำรอง

  • ฐาน ในกรณีที่เกิดข้อผิดพลาดระหว่างการแปลง (เช่น คอมพิวเตอร์ปิดเครื่อง เป็นต้น
  • เช่นเดียวกับตัวโปรแกรมเองอาจจะเสียหายได้) จากนั้นใช้อัลกอริธึมการดำเนินการต่อไปนี้:

  • เปิดฐานข้อมูลในโหมดตัวกำหนดค่า

คุณจะเห็นข้อความขอให้คุณแปลงฐานข้อมูล คลิกยืนยัน;

ปิดตัวกำหนดค่า เปิดฐานข้อมูล - ควรเริ่มต้นโดยไม่มีปัญหา หากหน้าต่างข้อผิดพลาดยังคงปรากฏอยู่หลังการแปลง คุณสามารถลองขั้นตอนนี้อีกครั้ง หากวิธีนี้ไม่ได้ผล คุณต้องติดต่อโปรแกรมเมอร์ 1C บางครั้งโปรแกรมอาจค้างขณะดำเนินการ ไม่จำเป็นต้องดำเนินการใดๆ ในขณะนี้สำคัญ! ฐานข้อมูล 1C, แปลงแล้ว

เวอร์ชันล่าสุด

ไม่สามารถเปิดโปรแกรมในเวอร์ชันก่อนหน้าได้ พื้นหลัง

เราจำเป็นต้องสร้างการลงทะเบียนข้อมูลใหม่ “MessageTrackingLog”

เพิ่มการกำหนดค่าแล้ว โหลดข้อมูล จากนั้นก็มาถึงงานเพิ่มประสิทธิภาพ ฉันต้องเปลี่ยนโครงสร้างการลงทะเบียน แต่นั่นไม่เป็นเช่นนั้น!

NewRecord = InformationRegisters.MessageTrackingLog.CreateRecordSet(); NewRecord.เขียน();

เมื่อใช้วิธีนี้เราจะล้างการลงทะเบียนใน 1C อย่างรวดเร็ว (แต่นี่จะเป็นความผิดพลาดของเราด้วย)

ข้อผิดพลาด

ดูเหมือนว่าการลงทะเบียนจะว่างเปล่าและคุณสามารถอัปเดต 1C ได้ ฉันไม่ต้องการทำให้คุณประหลาดใจ แต่จะมีข้อผิดพลาดเกิดขึ้นอีกครั้ง:


ข้อผิดพลาดแสดงถึงอะไร:

เกิดข้อผิดพลาดร้ายแรงในระหว่างกระบวนการอัพเดตฐานข้อมูล
เนื่องจาก:
กำลังพยายามแทรกค่าที่ไม่ซ้ำลงในดัชนีเฉพาะ:
ไมโครซอฟต์ เซิร์ฟเวอร์ SQL Native Client 11.0: คำสั่ง CREATE UNIQUE INDEX สิ้นสุดลงเนื่องจากพบคีย์ที่ซ้ำกันสำหรับชื่ออ็อบเจ็กต์ "dbo._InfoRgChngR34546NG" และชื่อดัชนี "_InfoR34546_ByNodeMsg_RNTSRRRRRRNG" ค่าคีย์ที่ซ้ำกันคือ (0x00000011,d7, , 27 ก.ย. 4558 22:22 น. 768404,00,00,00,00,00,00)
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, สถานะ=1, ความรุนแรง=10, ดั้งเดิม=1505, บรรทัด=1

คำอธิบาย

มาทำความเข้าใจโครงสร้างของ SQL กันดีกว่า เรามีทะเบียน "MessageTrackingLog" ใน SQL จะอยู่ในตาราง " _InfoR34546" คุณสามารถตรวจสอบได้โดยใช้การประมวลผลพิเศษหรือวิธี "poke" (เราไม่จำเป็นต้องทำเช่นนี้เนื่องจากชื่อของตารางระบุไว้ในข้อความแสดงข้อผิดพลาดแล้ว)

ตอนนี้ฉันจะอธิบายสิ่งที่เกิดขึ้น เมื่อเราโหลดข้อมูลลงในรีจิสเตอร์ ใน SQL ข้อมูลก็จะไปอยู่ในตาราง" _InfoR34546" เมื่อเราเคลียร์ตารางด้วยโค้ดใน 1C ข้อมูลนี้จะถูกลบออกจากตาราง" _InfoR34546"แต่ถูกคัดลอกไปที่ตาราง" _InfoRgChngR34546" นี่เป็นปัญหา

สารละลาย

เพื่อแก้ไขปัญหานี้ เราจำเป็นต้องล้างตาราง SQL "_InfoRgChngR34546"

ฉันจะบอกคุณด้วยตัวอย่าง" ไมโครซอฟต์ เอสคิวแอล Server Management Studio" ไปที่ " Management Studio" ค้นหาฐานข้อมูลของเรา เปิดแท็บตาราง คลิกที่ใดก็ได้แล้วคลิกปุ่ม "แบบสอบถามใหม่": ตอนนี้เราพิมพ์แบบสอบถาม

ตัดทอนตาราง "_InfoRgChngR34546"

คุณอาจมีโต๊ะอื่น! อย่าลืม!

และกดดำเนินการหรือกด "F5" นี่คือสิ่งที่ผลลัพธ์ควรเป็น:

เพียงเท่านี้คุณสามารถอัปเดต 1C ได้อย่างปลอดภัยแล้วและจะไม่มีข้อผิดพลาด!



 


อ่าน:


ใหม่

วิธีฟื้นฟูรอบประจำเดือนหลังคลอดบุตร:

การติดตั้ง RAM เพิ่มเติม

การติดตั้ง RAM เพิ่มเติม

“หลักการของการท่องจำตามธรรมชาตินั้นขึ้นอยู่กับการเชื่อมต่อของเส้นประสาทที่สร้างขึ้นในสมอง” Olga Zimnyakova นักประสาทวิทยากล่าว...

จะทำอย่างไรถ้าหูฟังไม่สร้างเสียงบนแล็ปท็อป

จะทำอย่างไรถ้าหูฟังไม่สร้างเสียงบนแล็ปท็อป

ปัญหาในการเชื่อมต่อและใช้งานหูฟังเป็นเรื่องปกติ ในบทความนี้เราจะดูสาเหตุที่เป็นไปได้มากที่สุดหลายประการ...

ไดเรกทอรีไดโอด ไดโอดเรียงกระแสกำลังสูง 220V

ไดเรกทอรีไดโอด ไดโอดเรียงกระแสกำลังสูง 220V

วัตถุประสงค์หลักของไดโอดเรียงกระแสคือการแปลงแรงดันไฟฟ้า แต่นี่ไม่ใช่การใช้งานเฉพาะสำหรับเซมิคอนดักเตอร์เหล่านี้...

วิธีรีเซ็ตรหัสผ่านผู้ดูแลระบบบน Mac OS X โดยไม่ต้องใช้แผ่นดิสก์การติดตั้ง

วิธีรีเซ็ตรหัสผ่านผู้ดูแลระบบบน Mac OS X โดยไม่ต้องใช้แผ่นดิสก์การติดตั้ง

แม้จะมีชื่อที่ไม่ชัดเจน แต่บทความนี้จะไม่เกี่ยวกับการแฮ็กบัญชีใน Mac OS X (คุณสามารถอ่านเกี่ยวกับเรื่องนี้ได้หากต้องการ...

ฟีดรูปภาพ อาร์เอสเอส