ฉันได้รับบางครั้ง "ไม่สามารถสแกนต่อNOLOCK
เนื่องจากการเคลื่อนไหวของข้อมูล" กับงานขนาดใหญ่บางงานซึ่งมีWITH (NOLOCK)
ในแบบสอบถามแบบใช้เลือกข้อมูล
ฉันเข้าใจว่าสิ่งนี้เกี่ยวข้องกับการพยายามเลือกข้อมูลเมื่อมีการแบ่งหน้าซึ่งทำให้ข้อมูลไม่ได้อยู่ในที่ที่ควรจะเป็นอีกต่อไป - ฉันคิดว่าเป็นสิ่งที่เกิดขึ้นในสภาพแวดล้อมของฉัน
ฉันจะทำสิ่งนี้ซ้ำได้อย่างไร
ฉันพยายามหาวิธีแก้ปัญหาระยะสั้นเพื่อตรวจจับข้อผิดพลาดและลองใหม่เมื่อเกิดเหตุการณ์นี้ แต่ฉันไม่สามารถทดสอบได้หากฉันไม่สามารถทำซ้ำได้ มีวิธีที่เชื่อถือได้สมเหตุสมผลในการทำให้เกิดสิ่งนี้หรือไม่?
เมื่อมันเกิดขึ้นการดำเนินการค้นหาผลลัพธ์อีกครั้งสำเร็จ - ดังนั้นฉันไม่มีข้อกังวลใด ๆ เกี่ยวกับข้อมูลจริงหรือฐานข้อมูลที่เสียหายอย่างถาวร บางตารางในแบบสอบถาม (พร้อมกับดัชนี) ลดลงสร้างใหม่และ repopulated บ่อยครั้งดังนั้นฉันคิดว่ามันเป็นสิ่งที่เกี่ยวข้อง
การลบออกNOLOCK
เป็นปัญหาระยะยาวของฉันที่จะจัดการกับ เหตุผลที่NOLOCK
ใส่ไว้ในตอนแรกก็คือการสืบค้นนั้นแย่มากจนพวกมันหยุดชะงักกับการทำธุรกรรมแบบวันต่อวันดังนั้นพวกเขาจึงNOLOCK
ช่วยกันหยุดการหยุดชะงัก (ซึ่งใช้ได้ผล) ดังนั้นฉันจึงต้องการความช่วยเหลือจากวงดนตรีในการช่วยเหลือแบบวงดนตรีจนกว่าเราจะสามารถแก้ปัญหาได้อย่างถาวร
ถ้าฉันสามารถสร้างมันขึ้นมาใหม่ได้ด้วย Hello World ฉันจะวางแผนว่าจะตบวงช่วยเหลือเข้ากับงานในเวลาไม่ถึงหนึ่งชั่วโมง ไม่สามารถทำการลบ - ค้นหา - และ - แทนที่NOLOCK
เพราะฉันเริ่มได้รับการหยุดชะงักของแอพอีกครั้งซึ่งแย่กว่าสำหรับฉันมากกว่างานที่ล้มเหลวเป็นครั้งคราว
การใช้การแยกสแนปชอตแบบอ่านข้อมูลมุ่งมั่นเป็นไปได้ที่ดี - ฉันจะต้องทำงานกับทีมฐานข้อมูลของเราเพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งนั้น ปัญหาส่วนหนึ่งของเราคือเราไม่มีผู้เชี่ยวชาญ SQL Server ที่จะจัดการกับสิ่งนั้นและฉันไม่เข้าใจระดับการแยกได้ดีพอที่จะทำการเปลี่ยนแปลงในตอนนี้
DEADLOCK_PRIORITY
ไปLOW
ในงานเพื่อที่ว่าถ้ามีการติดตาย, งานที่จะล้มเหลวและไม่ใช้งาน หลังจากนั้นคุณสามารถค้นคว้าการหยุดชะงักและค้นหาสาเหตุที่เกิดขึ้นและแก้ไขปัญหานั้น อาจเป็นการแก้ไขที่ง่ายมากเช่นการสลับคำสั่งสองข้อความ ไม่ว่าปัญหาคือNOLOCK
อะไรไม่ใช่ทางออกดังนั้นหยุดพยายามบังคับให้มันเป็นเพราะง่ายที่สุด
NOLOCK
จากงานเหล่านี้หรือไม่ 601 ควรจะเป็นกังวลน้อยที่สุดหากผลการค้นหาเหล่านี้ควรจะมีความถูกต้อง พอลไวท์แสดงให้เห็นเป็นตัวอย่างที่น่ากลัวโดยเฉพาะอย่างยิ่งในการอ่านข้อมูลที่ไม่ควรจะเป็นไปได้ที่นี่