คำถามติดแท็ก transactional-replication

4
การทำคลัสเตอร์กับการจำลองแบบของทรานแซคชันกับกลุ่มความพร้อมใช้งาน
สมมติว่าคุณต้องตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณที่ใช้ SQL Server 2012 เป็นแบ็กเอนด์ฐานข้อมูลของมันพร้อมใช้งานตลอดเวลาแม้ว่าเครื่องเซิร์ฟเวอร์หนึ่งเครื่องจะล้มเหลวก็ตาม ในฐานะนักพัฒนาซอฟต์แวร์และไม่ใช่ DBA ฉันกำลังพยายามเข้าใจว่าจะใช้เมื่อใดกับสถานการณ์ที่ล้มเหลว / มีความพร้อมใช้งานสูง: เซิร์ฟเวอร์สองตัว (หรือมากกว่า) ในคลัสเตอร์ Windows Failover, SQL Server เป็นอินสแตนซ์ของคลัสเตอร์ อินสแตนซ์ของ SQL Server สอง (หรือมากกว่า) ที่ได้รับการปรับปรุงด้วยการจำลองแบบของทรานแซคชัน เซิร์ฟเวอร์ SQL สองตัว (หรือมากกว่า) ใน SQL Server Availability Group ที่กำหนดค่าในโหมดการส่งข้อมูลแบบซิงโครนัส สถานการณ์ใดบ้างที่เหมาะกับภาระงานประเภทใดและสถานการณ์ความล้มเหลว / การหยุดทำงานประเภทใดที่สามารถจัดการได้ พวกเขายังเปรียบได้ / แลกเปลี่ยนได้?

3
ข้อมูลการตรวจสอบการจำลองแบบโดยใช้ T-SQL
รูปภาพด้านล่างแสดงปัญหาการจำลองแบบธุรกรรมที่ฉันกำลังตรวจสอบอยู่ รูปภาพมาจากการตรวจสอบการจำลองแบบ ฉันจะรับข้อมูลนี้โดยใช้ T-SQL ได้อย่างไร

6
วิธีการแก้ไขการจำลองแบบ messed up บน MS SQL Server
ฉันกู้คืนฐานข้อมูลจากข้อมูลสำรอง ฐานข้อมูลใช้การจำลองแบบเพื่อเผยแพร่ไปยังเซิร์ฟเวอร์อื่น สมมติว่าการคืนค่าฐานข้อมูลจะทำให้การจำลองแบบแตกหักฉันพยายามลบการจำลองและสร้างใหม่อีกครั้ง (เรามีสคริปต์เพื่อสร้างใหม่อีกครั้งตั้งแต่เริ่มต้น) ฉันไม่แน่ใจว่าสิ่งที่ฉันทำ แต่ตอนนี้มันอยู่ในสภาพที่ยุ่งเหยิงอย่างสมบูรณ์และฉันไม่สามารถแก้ไขได้ ก่อนอื่นฉันพยายามกำจัดการสมัครรับข้อมูล (บนเซิร์ฟเวอร์ผู้เผยแพร่): EXEC sp_dropsubscription @publication = 'PublicationName', @article = N'all', @subscriber = 'SubscriberServerName' ดูเหมือนว่าจะใช้งานได้ SELECT * FROM syssubscriptionsไม่แสดงผลลัพธ์ ค้นหาเซิร์ฟเวอร์สมาชิก SSMS> {SubscriberServer}> การจำลองแบบ> การสมัครสมาชิกท้องถิ่น - การสมัครสมาชิกไม่ได้อยู่ที่นั่น ดังนั้นฉันจึงพยายามลบสิ่งพิมพ์ SSMS> {Server}> การจำลองแบบ> Local Publications> {PublicationName}> ลบ สิ่งนี้ทำให้เกิดข้อความแสดงข้อผิดพลาดต่อไปนี้: Could not delete publication 'PublicationName'. Could not drop article. A …

1
การเริ่มต้นการจำลองแบบของทรานแซคชันจากการสำรองข้อมูล
มีตัวเลือกเมื่อตั้งค่าสิ่งพิมพ์สำหรับการจำลองแบบเพื่ออนุญาตให้เริ่มต้นจากการสำรองข้อมูล เราได้สร้างฐานข้อมูลที่จำลองแบบมาหลายปีแล้วและได้เริ่มต้นจาก backkup เสมอ แต่ไม่เคยตั้งค่าสถานะนี้ (เราเพิ่งสังเกตเห็นมันเป็นครั้งแรกเมื่อสองสามวันก่อน) การจำลองแบบได้ทำงานโดยไม่มีปัญหาตลอดเวลานี้อย่างแน่นอน ฉันพบว่ามีเพลงฮิตมากมายที่อธิบายว่าต้องใช้สิ่งนี้ แต่ไม่มีใครอธิบายได้ว่าทำไม ใครบ้างมีความเข้าใจในสิ่งที่จริงนี้ไม่? จากความได้เปรียบของฉันดูเหมือนจะไม่จำเป็น แต่ฉันคิดว่าฉันต้องพลาดบางสิ่งบางอย่าง

1
ไม่สามารถตัดทอนบันทึกธุรกรรม log_reuse_wait_desc - AVAILABILITY_REPLICA
เช้านี้ฉันตื่นขึ้นมาด้วยการทำธุรกรรมบันทึกการแจ้งเตือนอย่างเต็มรูปแบบในหนึ่งในฐานข้อมูลของเรา เซิร์ฟเวอร์นี้เป็นคลัสเตอร์ alwayson และยังเป็นสมาชิกการจำลองแบบของทรานแซคชัน ฉันตรวจสอบ log_reuse_wait_desc และพบว่ามีการสำรองข้อมูล มีคนปิดการใช้งานการสำรองข้อมูลโดยไม่ตั้งใจ 4 วันก่อนหน้าฉันเปิดใช้งานงานสำรองข้อมูลบันทึกอีกครั้งและบันทึกถูกล้าง ตั้งแต่ 4 โมงเช้าฉันคิดว่าฉันจะไปทำงานในภายหลังในเช้าวันนั้นและปัดท่อนไม้ตามที่มันโตขึ้นเป็น 400GB 10:00 น. - ฉันอยู่ในสำนักงานและฉันตรวจสอบการใช้งานบันทึกก่อนที่จะย่อขนาดลงและประมาณ 16% ฉันประหลาดใจและตรวจสอบ log_reuse_wait_desc ซึ่งแสดงการจำลองแบบ ฉันสับสนเพราะนี่เป็นสมาชิกการจำลองแบบ จากนั้นเราเห็นว่า db ถูกเปิดใช้งานสำหรับ CDC และคิดว่าอาจเป็นสาเหตุ CDC ที่ถูกปิดใช้งานและตอนนี้ log_reuse_wait_desc แสดง AVAILABILITY_REPLICA การใช้งานบันทึกในขณะที่ยังคงเติบโตอย่างต่อเนื่องและที่ 17% ในขณะนี้ ฉันตรวจสอบแดชบอร์ด alwayson และตรวจสอบคิวที่ส่งและทำซ้ำและทั้งคู่นั้นแทบจะเป็นศูนย์ ฉันไม่แน่ใจว่าทำไมการใช้บันทึกซ้ำจึงแสดงเป็น AVAILABILITY_REPLICA และไม่สามารถล้างบันทึกได้ มีความคิดว่าทำไมสิ่งนี้เกิดขึ้น?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.