ปรุง
สมมติว่าคุณกำลังใช้ SQL Server ๒๐๑๗บน Linux ในบางสถานการณ์ SQL Server อาจพบการสูญหายของข้อมูลบนระบบที่ใช้แคช การสูญเสียเกิดขึ้นเนื่องจากสถานการณ์ที่ไม่คาดฝันเช่น power ล้มเหลวก่อนที่ข้อมูลที่แคชไว้จะถูกเขียนไปยังสื่อที่มั่นคง เมื่อต้องการป้องกันสถานการณ์สมมตินี้กลไกการ ล้างที่บังคับจะถูกนำมาใช้ในการอัปเดตที่สะสม 6 (CU6) สำหรับ SQL Server ๒๐๑๗บน Linux ถ้าระบบย่อยที่เก็บข้อมูลของคุณไม่สามารถรับประกันการเขียนที่คงทนผ่านการสูญเสียพลังงานเราขอแนะนำให้คุณใช้ CU6 สำหรับ SQL Server ๒๐๑๗บน Linux การอัปเดตนี้เปิดใช้งานต่อไปนี้:
-
การล้าง ที่ถูกบังคับ ลักษณะการทำงานในระหว่างการเขียนของฐานข้อมูลที่เหมือนกับจุดตรวจสอบและการเขียนบันทึกธุรกรรม
-
การตั้งค่าการกำหนดค่าwritethrough = 1และalternatewritethrough = 1ตัวเลือกตามค่าเริ่มต้น การตั้งค่าเริ่มต้นเหล่านี้อนุญาตให้ SQL Server ตรวจสอบให้แน่ใจว่าการเขียนมีเปี่ยมเพื่อบล็อกอุปกรณ์ตัวเลือกอื่น writethroughเป็นตัวเลือกในการเพิ่มประสิทธิภาพการร้องขอการล้างที่มีความทนทานให้กับระบบไฟล์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าทั้งสองให้ดูตารางต่อไปนี้:
ชื่อ |
ต้น |
คำอธิบาย |
writethrough |
1 |
ค่าที่ถูกต้องคือ0และ1 1 = แปล FILE_FLAG_WRITE_THROUGH การร้องขอเป็น O_DSYNC เปิด 0 = ป้องกันการแปล FILE_FLAG_WRITE_THROUGH การร้องขอการ O_DSYNC เปิด |
alternatewritethough |
1 |
ค่าที่ถูกต้องคือ0และ1 1 = เปิดใช้งานการล้างรายการที่ปรับให้เหมาะสมโดยส่วนขยายโฮสต์สำหรับการร้องขอ FILE_FLAG_WRITE_THROUGH เขียนบนไฟล์การปรับให้เหมาะสมที่สุดสำหรับการโทรไปยัง fdatasync สำหรับอุปกรณ์บล็อก 0 = ปิดใช้งานการปรับให้เหมาะสมการล้างแบบอื่น ไฟล์จะเปิดขึ้นโดยใช้ O_DSYNC และระบบไฟล์ที่อยู่ภายใต้ดำเนินการเขียนคำร้องขอการล้างที่จำเป็น หมายเหตุ:การตั้งค่า alternatewritethrough จะนำไปใช้เฉพาะเมื่อ writethrough = 1 |
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมให้ดูที่หลักปฏิบัติที่ดีที่สุดของประสิทธิภาพการทำงานและแนวทางการกำหนดค่าสำหรับ SQL Server ๒๐๑๗บน Linux สำหรับการจัดการปริมาณงานเขียนความถี่สูงและคำแนะนำในการวางไฟล์ฐานข้อมูล
การติดตั้ง SQL Serverที่ทำงานบนระบบที่เก็บข้อมูลที่รับประกันการเขียนจะO_DIRECT ปลอดภัยสามารถเปิดใช้งานการตั้งค่าการติดตาม (TF) ๓๙๗๙เพื่อปิดใช้งานลักษณะการล้างข้อมูลที่บังคับและตั้งค่า ตัวเลือกalternatewritethroughและwritethroughใน mssql นี้ส่งกลับ SQL Server ๒๐๑๗ถึงลักษณะการทำงาน CU6 ก่อน.
บันทึกย่อ ระบบที่เก็บข้อมูลสามารถตรวจสอบให้แน่ใจว่าการเขียนที่แคชไว้หรือการเขียนที่ได้รับการรับรองจะถือว่าปลอดภัยและทนทานโดยการรับประกันว่าการเขียนที่ออกให้กับอุปกรณ์จะถูกเก็บไว้บนสื่อที่จะยังคงอยู่ในระบบหยุดการตั้งค่าส่วนติดต่อและความล้มเหลวของ power และตัวตัวกลางคือฮาร์ดแวร์ที่ซ้ำกัน
ต่อไปนี้เป็นรายละเอียดเพิ่มเติมเกี่ยวกับลักษณะการทำงานของ SQL Server สำหรับไฟล์ i/o ที่มีการเปลี่ยนแปลงเหล่านี้:
-
ไฟล์ฐานข้อมูล (.mdf) และแฟ้มบันทึกธุรกรรม (ldf) ไม่ใช้ writethrough และ alternatewritethrough ตามค่าเริ่มต้นใน CU6 เมื่อพวกเขาใช้ลักษณะการทำงานของการล้างที่บังคับ TF ๓๙๗๙จะปิดใช้งานการใช้ลักษณะการ ล้างแบบบังคับ สำหรับฐานข้อมูลและไฟล์บันทึกธุรกรรมและจะใช้ตรรกะ writethrough และ alternatewritethrough
-
ไฟล์อื่นๆที่เปิดโดยใช้FILE_FLAG_WRITE_THROUGH ใน SQL Server เช่น snapshot ของฐานข้อมูลการตรวจสอบความสอดคล้องภายในของฐานข้อมูล (CHECKDB), ไฟล์การติดตามของผู้สร้างโปรไฟล์และไฟล์การติดตามเหตุการณ์แบบขยายจะใช้การปรับให้เหมาะสมที่สุด writethrough และ alternatewritethrough
การแก้ไข
การอัปเดตนี้จะรวมอยู่ในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์