เซิร์ฟเวอร์ failover มีสถานะ (Mirror, Disconnected, In recovery) และเซิร์ฟเวอร์หลักมีสถานะ (Principal, Disconnected)
กระบวนการเชื่อมต่อเซิร์ฟเวอร์เหล่านี้ใหม่เป็นอย่างไร
เซิร์ฟเวอร์ failover มีสถานะ (Mirror, Disconnected, In recovery) และเซิร์ฟเวอร์หลักมีสถานะ (Principal, Disconnected)
กระบวนการเชื่อมต่อเซิร์ฟเวอร์เหล่านี้ใหม่เป็นอย่างไร
คำตอบ:
บางครั้งการรีสตาร์ทมิเรอร์ปลายทางบนเซิร์ฟเวอร์หลักจะแก้ไขปัญหานี้
หากต้องการทำสิ่งนี้ให้ใช้ T-SQL ต่อไปนี้
ALTER ENDPOINT Endpoint_Name STATE = STOPPED
ALTER ENDPOINT Endpoint_Name STATE = STARTED
เพื่อรับชื่อของจุดสิ้นสุด
SELECT * FROM sys.endpoints
WHERE type = 4
ดูKB 2490051สำหรับรายละเอียดเพิ่มเติม
ก่อนอื่นให้ลองให้พวกเขาเชื่อมต่อใหม่ด้วยคำสั่ง T-SQL นี้บนหลักการ:
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;
หากไม่สำเร็จแสดงว่าคุณมีปัญหาด้านการสื่อสารระหว่างอาจารย์ใหญ่กับมิเรอร์และนั่นคือจุดเริ่มต้นของความสนุก มันสามารถเป็นอะไรก็ได้ตั้งแต่การเชื่อมต่อ IP ไปจนถึงการรักษาความปลอดภัยบนปลายทางการมิเรอร์ไปจนถึงวิธีการเข้ารหัสที่แตกต่างกัน ฉันขอแนะนำหนังสือ Pro Robert Server 2008 Mirroring ของ Robert Davisหากคุณต้องการแก้ไขปัญหาอย่างละเอียด
ในกรณีของเราเรากำลังใช้การรับรองความถูกต้องของใบรับรองสำหรับการเชื่อมต่อจุดสิ้นสุดการทำมิเรอร์และปัญหาเกิดขึ้นเนื่องจากหนึ่งในใบรับรองที่จุดสิ้นสุดการมิเรอร์ที่ใช้นั้นหมดอายุแล้ว
คุณสามารถตรวจสอบวันหมดอายุของใบรับรองที่เกี่ยวข้องกับการรับรองความถูกต้องของอุปกรณ์ปลายทางได้โดยทำ
SELECT * FROM sys.certificates
หากเป็นกรณีนี้คุณจะต้องสร้างใบรับรองใหม่สำหรับสิ่งที่หมดอายุแล้วทำALTER ENDPOINT
หลังจากนำเข้าแล้ว
ฉันแก้ไขปัญหานี้โดยขั้นตอนถัดไปการรีสตาร์ทจุดปลายบนอุปกรณ์หลักไม่ได้ช่วยอะไร
ในระดับประถมศึกษา:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
ในกระจก:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
กลับไปที่หลัก:
ALTER DATABASE PACXDSite SET PARTNER RESUME;
กรณี:
เมื่อคุณเรียกใช้คำสั่งด้านล่างบนเซิร์ฟเวอร์หลัก:
alter database 'Database_Name' set partner off
หลังจากรันคำสั่งข้างต้น DB ของคุณจะเข้าสู่[mirror, disconnected]
สถานะบนเซิร์ฟเวอร์มิเรอร์
ความละเอียด:
ขั้นตอนที่ 1: เรียกใช้แบบสอบถามด้านล่างบนกระจก
exec sp_resetstatus 'Database_Name'
ขั้นตอนที่ 2: หลังจากรันคำสั่งด้านล่าง DB ของคุณจะพร้อมใช้งาน
restore database 'Database_Name' with recovery
หมายเหตุ: ขั้นตอนที่ 2 จะใช้เวลาในการกู้คืน
หาก "RESUME PARTNER" ไม่ทำงาน
ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;
ฉันจะทำลายมิร์เรอร์สำหรับฐานข้อมูลนั้นและกำหนดค่าใหม่
- ขั้นตอนที่ 1 เมื่อปรินซิปริทำลายกระจกสำหรับฐานข้อมูล
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- ขั้นตอนที่ 2 ON กระจกทำลายกระจกสำหรับฐานข้อมูล
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- ขั้นตอนที่ 3 ON กระจก
RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY
- ขั้นตอนที่ 4 ON กระจก
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';
- ขั้นตอนที่ 5 เมื่อหลัก
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';
- ขั้นตอนที่ 6 ในหลักการหากมีการกำหนดค่า WITNESS แล้ว
ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';
เป็นสิ่งที่ควรค่าแก่การกล่าวถึงทั้งหมดข้างต้นสามารถทำได้ในช่วงเวลาทำงานเนื่องจากฐานข้อมูลหลักจะออนไลน์และพร้อมให้ใช้งานเสมอ