ความแตกต่างที่สำคัญระหว่างการสำรองข้อมูลแบบเต็มและการคัดลอกอย่างเดียวคือการระบุว่า LSN (หมายเลขลำดับการบันทึก) หรือไม่โดยเฉพาะการDatabaseBackupLSN
อัปเดต
เมื่อคุณทำการสำรองข้อมูลเต็มรูปแบบการDatabaseBackupLSN
ปรับปรุง หลังจากทำการสำรองข้อมูลเต็มรูปแบบหากคุณใช้การสำรองข้อมูลส่วนต่างที่การสำรองข้อมูลนั้นDatabaseBackupLSN
ตรงกับการสำรองข้อมูลทั้งหมดดังนั้น SQL สามารถเชื่อมโยงสองรายการเข้าด้วยกันได้ (เช่นรู้จาก LSN เหล่านั้นที่ diff ตามเต็ม)
ปัญหาเกิดขึ้นเมื่อคุณมีกำหนดการสำรองข้อมูลที่ทำงานอยู่ดังนั้นคุณจึงมีการสำรองข้อมูลเต็มรูปแบบเริ่มต้นแล้วตามลำดับส่วนต่าง หากคุณทำการสำรองข้อมูลทั้งหมดด้วยตนเองมันจะอัปเดต LSN จากนั้นเป็นต้นไปการสำรองข้อมูลส่วนต่างแต่ละครั้งที่คุณทำผ่านการสำรองข้อมูลตามกำหนดจะอ้างอิงว่า LSN ใหม่ไม่ใช่ต้นฉบับ ในกรณีที่จำเป็นต้องกู้คืนคุณสามารถคืนค่าการสำรองข้อมูลเต็มรูปแบบตามกำหนดเวลาของคุณ แต่เมื่อคุณพยายามกู้คืนการสำรองข้อมูลส่วนต่างที่เกิดขึ้นหลังจากงานที่ทำด้วยตนเองคุณจะพบว่ามันล้มเหลวเนื่องจาก LSN ไม่ตรงกันอีกต่อไป
ด้วยการสำรองข้อมูลแบบคัดลอกเท่านั้นมันจะไม่แตะต้องDatabaseBackupLSN
และด้วยเหตุนี้จึงไม่เป็นการทำลายการสำรองข้อมูล
มีคำอธิบายที่ดีเกี่ยวกับปัญหานี้และทำไมผู้คนจำนวนมากเข้าใจผิดในการทำลายห่วงโซ่การสำรองข้อมูล - REDUX (หรือการกินอีกา)โดย Michael K. Campbell ซึ่งมีไกด์นำทางที่ดีเช่นนี้:
สำหรับคำอธิบายที่ดีเกี่ยวกับ LSN สี่แบบที่ต่างกันและวิธีการใช้ให้ดูที่การทำความเข้าใจหมายเลขลำดับบันทึกการทำงานของเซิร์ฟเวอร์ SQL สำหรับการสำรองข้อมูลโดย Simon Liew
วิธีการหลีกเลี่ยงปัญหานี้คือการไม่มีการสำรองข้อมูลมาตรฐานของฐานข้อมูลมากกว่าหนึ่งอย่าง ควรทำสำเนาสำรองสำรองหรือสำรองด้วยตัวเลือกคัดลอกอย่างเดียวดูสำเนาสำรองเท่านั้น (SQL Server)สำหรับรายละเอียดทั้งหมด แต่คุณต้องใช้ตัวเลือก "คัดลอกเฉพาะสำรองข้อมูล" ใน SSMS ผ่าน T-SQL ที่ระบุWITH COPY_ONLY
ไว้ในคำสั่ง หรือกับ PowerShell ใช้-CopyOnly
พารามิเตอร์