คำถามติดแท็ก availability-groups

Availability Groups เป็นคุณลักษณะใหม่ของ SQL Server 2012 ที่ให้การซิงโครไนซ์ข้อมูลอย่างต่อเนื่องการล้มเหลวอัตโนมัติและการเข้าถึงการอ่านรองสำหรับฐานข้อมูล SQL Server หนึ่งหรือหลายฐานข้อมูล

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

8
งาน SQL Server Agent และกลุ่มความพร้อมใช้งาน
ฉันกำลังมองหาแนวปฏิบัติที่ดีที่สุดในการจัดการงาน SQL Server Agent ตามกำหนดเวลาในกลุ่มความพร้อมใช้งานของ SQL Server 2012 บางทีฉันอาจพลาดบางสิ่ง แต่ในสถานะปัจจุบันฉันรู้สึกว่า SQL Server Agent ไม่ได้รวมเข้ากับฟีเจอร์ SQL2012 ที่ยอดเยี่ยมนี้ ฉันจะทำให้งานเอเจนต์ SQL ตามกำหนดเวลารับรู้ถึงการสลับโหนดได้อย่างไร? ตัวอย่างเช่นฉันมีงานที่ทำงานบนโหนดหลักซึ่งโหลดข้อมูลในแต่ละชั่วโมง ทีนี้ถ้าหลักล้มลงฉันจะเปิดใช้งานงานรองซึ่งตอนนี้กลายเป็นงานหลักได้อย่างไร? ถ้าฉันจัดกำหนดการงานบนรองเสมอมันจะล้มเหลวเพราะงานรองเป็นแบบอ่านอย่างเดียว

5
จาก DMV คุณสามารถบอกได้หรือไม่ว่าการเชื่อมต่อนั้นใช้ ApplicationIntent = ReadOnly หรือไม่
ฉันมีการตั้งค่ากลุ่มความพร้อมใช้งานตลอดเวลาและฉันต้องการตรวจสอบให้แน่ใจว่าผู้ใช้ของฉันกำลังใช้ ApplicationIntent = อ่านได้อย่างเดียวในสตริงการเชื่อมต่อของพวกเขา จาก SQL Server ผ่าน DMVs (หรือ Extended Events หรืออะไรก็ตาม) ฉันสามารถบอกได้ไหมว่าผู้ใช้เชื่อมต่อกับ ApplicationIntent = อ่านได้อย่างเดียวในสตริงการเชื่อมต่อของพวกเขาหรือไม่ โปรดอย่าตอบด้วยวิธีป้องกันการเชื่อมต่อ - นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ ฉันไม่สามารถหยุดการเชื่อมต่อได้เพียงเพราะเรามีแอปพลิเคชั่นที่มีอยู่ซึ่งกำลังเชื่อมต่อโดยไม่มีสายอักขระที่ถูกต้องและฉันจำเป็นต้องรู้ว่าพวกเขาเป็นใครฉันจึงสามารถทำงานร่วมกับนักพัฒนาและผู้ใช้ สมมติว่าผู้ใช้มีหลายแอปพลิเคชัน ตัวอย่างเช่น Bob เชื่อมต่อกับ SQL Server Management Studio และกับ Excel เขาเชื่อมต่อกับ SSMS เมื่อต้องการอัปเดตและ Excel เมื่อเขาต้องการอ่าน ฉันต้องแน่ใจว่าเขาใช้ ApplicationIntent = อ่านอย่างเดียวเมื่อเขาเชื่อมต่อกับ Excel (นั่นไม่ใช่สถานการณ์ที่แน่นอน แต่ใกล้พอที่จะอธิบาย)

3
ฐานข้อมูลกลุ่มความพร้อมใช้งานของเซิร์ฟเวอร์กระจาย SQL ไม่ซิงค์หลังจากรีบูตเซิร์ฟเวอร์
เราพร้อมที่จะทำการอัปเกรดจำนวนมากบนเซิร์ฟเวอร์ SQL ของเราและกำลังสังเกตเห็นพฤติกรรมที่ผิดปกติบางอย่างกับกลุ่มความพร้อมใช้งานแบบกระจายที่ฉันพยายามแก้ไขก่อนที่จะดำเนินการต่อ เดือนที่แล้วฉันอัปเกรดเซิร์ฟเวอร์รองระยะไกลจาก SQL Server 2016 เป็น SQL Server 2017 เซิร์ฟเวอร์นี้เป็นส่วนหนึ่งของกลุ่มความพร้อมใช้งานแบบกระจาย (DAG)และกลุ่มความพร้อมใช้งานแยกต่างหาก(AG)หลายกลุ่ม เมื่อเราอัปเกรดเซิร์ฟเวอร์นี้เราไม่ทราบว่าจะเข้าสู่สถานะที่อ่านไม่ได้ดังนั้นในช่วงเดือนที่ผ่านมาเราได้พึ่งพาเซิร์ฟเวอร์หลักเพียงอย่างเดียว เป็นส่วนหนึ่งของการอัปเกรดที่จะเกิดขึ้นฉันใช้CU 4 patch กับเซิร์ฟเวอร์และทำการบูทใหม่ เมื่อเซิร์ฟเวอร์กลับมาออนไลน์อีกครั้งรองที่เพิ่งได้รับการปรับปรุงแสดงให้เห็นว่า DAGs / AG ทั้งหมดซิงค์กันโดยไม่มีปัญหาใด ๆ อย่างไรก็ตามตัวละครหลักกำลังแสดงเรื่องราวที่แตกต่างกันมาก มีรายงานว่า AG แยกต่างหากกำลังซิงค์โดยไม่มีปัญหาใด ๆ แต่ DABs ความได้ในไม่ Synchronzing / ไม่ดีต่อสุขภาพของรัฐ หลังจากตื่นตระหนกในตอนแรกฉันพยายามทำสิ่งต่าง ๆ ต่อไปนี้เพื่อให้สิ่งต่าง ๆ ซิงโครไนซ์อีกครั้งใน DAG: จากหลักฉันหยุดและกลับมาเคลื่อนไหวข้อมูลต่อ สิ่งนี้ไม่ได้เริ่มซิงค์ข้อมูล ในครั้งที่สอง (อันที่ฉันเพิ่งแก้ไข) ฉันรันALTER DATABASE [<database] SET HADR …

1
การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่
ฉันต้องการให้ข้อมูลตามเวลาจริงหรือเกือบตามเวลาจริงสำหรับการรายงาน SSRS และ Tableau ฉันไม่ต้องการให้ระบบ OLTP ที่ใช้ในการผลิตได้รับผลกระทบทางลบจากการสืบค้นที่ใช้เวลานาน การรันเคียวรีขนาดใหญ่บนฐานข้อมูลรองในกลุ่มความพร้อมใช้งานจะส่งผลต่อประสิทธิภาพของธุรกรรมในฐานข้อมูลหลักหรือไม่

2
SQL Server 2017 ที่มีฐานข้อมูล 500 - AG บ่อยครั้งตัดการเชื่อมต่อตั้งแต่ CU9
สวัสดีทุกคนและขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ เรากำลังเผชิญกับความท้าทายกับกลุ่มความพร้อมใช้งานของ SQL Server 2017 พื้นหลัง บริษัท เป็นซอฟต์แวร์ back-end B2B สำหรับการค้าปลีก ประมาณ 500 ฐานข้อมูลผู้เช่ารายเดียวและ 5 ฐานข้อมูลที่ใช้ร่วมกันที่ใช้โดยผู้เช่าทั้งหมด ส่วนใหญ่จะอ่านคุณสมบัติของเวิร์กโหลดและฐานข้อมูลส่วนใหญ่มีกิจกรรมต่ำมาก เซิร์ฟเวอร์การผลิตจริงที่โฮสต์ที่ co-location เพิ่งได้รับการอัพเกรดจาก SQL Server 2014 Enterprise บน Windows Server 2012 ในการกำหนดค่า SAN / FCI ที่ใช้ร่วมกันไปเป็น SQL Server 2017 Enterprise บน Windows Server 2016 บน 2 socket / 32 core / 768 GB …

4
RAID0 แทนที่จะเป็น RAID1 หรือ 5 นี่มันบ้าหรือเปล่า
ฉันกำลังพิจารณาใช้การตั้งค่า RAID0 สำหรับหนึ่งในกลุ่มเซิร์ฟเวอร์ SQL ของเรา ฉันจะร่างสถานการณ์และกำลังหาสาเหตุที่อาจเป็นความคิดที่ไม่ดี นอกจากนี้ถ้าคนที่คุณใช้เคสเอกสารสีขาวหรือเอกสารอื่น ๆ คุณสามารถชี้ให้ฉันเห็นในหัวข้อนี้ได้ เรามี 3 เซิร์ฟเวอร์ใน 2 ดาต้าเซ็นเตอร์ซึ่งเป็นส่วนหนึ่งของคลัสเตอร์ SQL พวกเขากำลังเรียกใช้ SQL Server ทั้งหมดในกลุ่มความพร้อมใช้งาน ตัวหลักมีแบบจำลองอยู่ข้าง ๆ และอีกตัวในดาต้าเซ็นเตอร์อื่น พวกเขากำลังเรียกใช้การจำลองแบบซิงโครนัสกับ failover อัตโนมัติ ไดรฟ์ทั้งหมดเป็น SSD ระดับองค์กร พวกเขาจะใช้ SQL Server 2017 หรือ 2019 ฉันคิดว่ามันจะมีประโยชน์หลายอย่างในการใช้งาน RAID0 ในอาร์เรย์มากกว่าวิธีอื่น ๆ หากมีข้อเสียจริง ข้อเสียเชิงลบที่ฉันเห็นอยู่ในขณะนี้คือการขาดความซ้ำซ้อนบนเซิร์ฟเวอร์หลักดังนั้นจึงไม่สามารถเพิ่มได้ ในฐานะที่เป็นข้อดี: หากไดรฟ์ล้มเหลวแทนที่จะทำงานในสถานะที่ช้าและเสื่อมโทรมจนกว่าจะมีคนได้รับการแจ้งเตือนว่ามีการกระทำด้วยตนเองเซิร์ฟเวอร์จะไม่สามารถทำการสำรองข้อมูลได้ทันที สิ่งนี้จะมีประโยชน์เพิ่มเติมในการแจ้งให้เราทราบถึงความล้มเหลวดังนั้นเราจึงสามารถตรวจสอบสาเหตุได้เร็วขึ้น มันลดโอกาสของความล้มเหลวโดยรวมต่อกำลังการผลิต TB เนื่องจากเราไม่ต้องการพาริตีหรือมิรเรอร์ไดร์ฟเราจึงลดจำนวนไดรฟ์ต่ออาเรย์ เมื่อมีไดรฟ์น้อยลงโอกาสในการเกิดความล้มเหลวก็จะน้อยลง มันถูกกว่า. ต้องการไดรฟ์น้อยลงสำหรับความจุที่ต้องการของเราลดค่าใช้จ่ายอย่างเห็นได้ชัด ฉันรู้ว่านี่ไม่ใช่ความคิดทางธุรกิจทั่วไป …

1
AlwaysOn AG, DTC พร้อม failover
ปัญหา:ฉันจะรัน Distributed Transaction Coordinator (DTC) บนเซิร์ฟเวอร์ทั้งหมดใน AlwaysOn Availability Group (AG) ได้อย่างไร ฉันไม่จำเป็นต้องรักษาการทำธุรกรรมมากกว่าเหตุการณ์ความล้มเหลว / การเปลี่ยนแปลง การติดตั้ง:ฉันมี Windows Failover Cluster (WSFC) ที่มีเซิร์ฟเวอร์ Windows 2008 R2 สามเครื่องซึ่งกำลังทำงาน SQL 2012 ทั้งหมดสองเซิร์ฟเวอร์อยู่ในศูนย์ข้อมูลเดียวและเป็นส่วนหนึ่งของ AlwaysOn Failover Cluster (FCI) ในขณะที่เซิร์ฟเวอร์ตัวที่สามอยู่ใน ศูนย์ข้อมูลที่สอง WSFC เป็นคลัสเตอร์หลายเครือข่ายย่อย นี่คือภาพร่างของการตั้งค่า: ฉันสามารถติดตั้งและกำหนดค่า DTC ให้ทำงานระหว่างสองโหนด FCI ได้เนื่องจากพวกเขาอยู่ในซับเน็ตเดียวกันและใช้ที่เก็บข้อมูลร่วมกัน ฉันกำหนดค่า AG สองสามตัวและพวกเขาทำงานได้ดี ภาพหน้าจอนี้แสดงการติดตั้ง DTC บน FCI: ภาพหน้าจอนี้แสดงให้เห็นว่าฉันสามารถกำหนดค่า DTC …

1
บังคับให้ใช้แผนที่สำหรับบุคคลที่สองที่อ่านได้
หากมีการบังคับใช้แผนหลักในกลุ่มความพร้อมใช้งานจะมีการนำไปใช้กับคิวรีที่เรียกใช้บนรองหรือไม่? ฉันกำลังมองหาคำตอบที่ครอบคลุมความเป็นไปได้ทั้งในการวางแผนบังคับ: แนวทางการวางแผน แผนบังคับใช้ Query Store ฉันได้อ่านสิ่งต่อไปนี้ที่แนะนำแผนการบังคับใช้ QS ไม่ได้ดำเนินการ แต่ไม่พบสิ่งใดที่เชื่อถือได้ในเอกสารประกอบ Query Store และกลุ่มความพร้อมใช้งานโดย Erin Stellato แบบสอบถามข้อมูลที่เก็บบังคับพฤติกรรมแผนบนรอง AlwaysOn สามารถอ่านได้โดย Vikas Rana หลักฐานการบังคับจะมีการปรากฏตัวของUse PlanหรือPlanGuideNameและPlanGuideDBคุณสมบัติในการวางแผนการดำเนินการรอง

1
การกู้คืนฐานข้อมูล SQL Server 2012 ในสภาพพร้อมใช้งานสูง
ฉันมีฐานข้อมูลที่อยู่ในโหมดความพร้อมใช้งานสูงตลอดเวลาที่ซิงโครไนซ์กับฐานข้อมูลอื่นในอินสแตนซ์อื่น ฉันจะคืนค่าจาก.bakไฟล์ไปยังฐานข้อมูลหลักโดยใช้T-SQLอย่างไร ฉันยังใหม่กับความพร้อมใช้งานสูงและฉันได้รับคำแนะนำว่าฉันจำเป็นต้องลบฐานข้อมูลออกจากความพร้อมใช้งานสูงก่อนที่ฉันจะสามารถกู้คืนได้ ฉันหวังว่าฉันจะสามารถกู้คืนตรงไปยังหลักในขณะที่AlwaysOnยังคงเปิดใช้งานและมันจะซิงค์อัตโนมัติกับรอง

4
การเข้าสู่ระบบไม่ได้ซิงค์กับกลุ่มความพร้อมใช้งาน
เรามี 2 เซิร์ฟเวอร์ในกลุ่ม AlwaysOn ในขณะที่บัญชีผู้ใช้ภายในแต่ละฐานข้อมูลที่ซิงโครไนซ์มีอยู่บนทั้งสองเซิร์ฟเวอร์ แต่อินสแตนซ์ระดับฐานข้อมูลจะมีอยู่ในหนึ่งในเซิร์ฟเวอร์เท่านั้น เช่น DBINSTANCE-> Security-> การเข้าสู่ระบบจะหายไปในเซิร์ฟเวอร์เดียว ดังนั้นเมื่อมีความล้มเหลวฉันได้รับความล้มเหลวในการเข้าสู่ระบบบนเซิร์ฟเวอร์ที่สอง (ซึ่งไม่มีการเข้าสู่ระบบในระดับอินสแตนซ์ที่เกี่ยวข้อง) ฉันจะเอาชนะปัญหานี้ได้อย่างไร ฉันควรจะตั้งค่าบัญชีผู้ใช้ด้วยวิธีพิเศษหรือไม่?

2
กำหนดค่าการมอบหมายที่ไม่ จำกัด สำหรับ BULK INSERT
ฉันมีโหนด Microsoft SQL Server 2016 คู่หนึ่งในกลุ่ม Always On Availability ฉันกำลังพยายามดำเนินการBULK INSERT(โดยใช้แบบสอบถาม SQL Server 2016 Management Studio) ในไฟล์ที่อยู่ในคลัสเตอร์เซิร์ฟเวอร์ล้มเหลวของ Windows Server 2016 แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: เกี่ยวกับข่าวสาร 4861 ระดับ 16 สถานะ 1 ไม่สามารถโหลดจำนวนมากได้เนื่องจากไม่สามารถเปิดไฟล์ "\ nas2.my.domain \ Microsoft SQL Server 2016 Enterprise \ test.txt" รหัสข้อผิดพลาดของระบบปฏิบัติการ 5 (ปฏิเสธการเข้าถึง) สิ่งนี้จะเกิดขึ้นโดยไม่คำนึงว่าฉันใช้ชื่อโหนดที่ใช้งาน ( nas2.my.domain) หรือฟังคลัสเตอร์ล้มเหลว ( nas.my.domain) หรือไม่ หลังจากมองไปรอบ ๆ …

3
ฐานข้อมูลกลุ่มความพร้อมใช้งานติดอยู่ในโหมดไม่ซิงโครไนซ์ / กู้คืนค้างอยู่
ในขณะที่อัปเกรดที่เก็บข้อมูลในอินสแตนซ์ของ SQL Server 2014 SP1 (12.0.4422.0) เราพบปัญหาที่ฐานข้อมูลสองแห่งจะไม่เริ่มทำงานบนฐานรองหลังจากรีสตาร์ท SQL Server เซิร์ฟเวอร์ออฟไลน์ไม่กี่ชั่วโมงในขณะที่เราติดตั้ง SSD ใหม่ (ใหญ่กว่า) และคัดลอกไฟล์ข้อมูลไปยังโวลุ่มใหม่ เมื่อเรารีสตาร์ท SQL Server ทั้งหมด แต่สองฐานข้อมูลเริ่มซิงโครไนซ์อีกครั้ง อีกสองคนที่ถูกแสดงใน SSMS เป็นไม่ตรงกัน / กู้คืนรอดำเนินการ ไม่พบปัญหาการซิงโครไนซ์ / การกู้คืนที่คล้ายกันมาก่อนฉันตรวจสอบสถานะภายใต้กลุ่มความพร้อมใช้งาน -> ฐานข้อมูลความพร้อมใช้งาน แต่พวกเขาแสดง X สีแดง: และแม้แต่พยายามระงับการเคลื่อนย้ายข้อมูลสร้างข้อความแสดงข้อผิดพลาด: ไม่สามารถระงับการเคลื่อนย้ายข้อมูลในฐานข้อมูล 'StackExchange.Bycycles.Meta' ซึ่งอยู่ในแบบจำลองความพร้อมใช้งาน 'ny-sql03' ในกลุ่มความพร้อมใช้งาน 'SENetwork_AG' (Microsoft.SqlServer.Smo) ข้อมูลเพิ่มเติม: เกิดข้อยกเว้นขณะดำเนินการคำสั่งหรือชุดงาน transact-SQL (Microsoft.SqlServer.ConnectionInfo) ฐานข้อมูล 'StackExchange.Bycycles.Meta' ไม่สามารถเปิดได้เนื่องจากไฟล์ที่ไม่สามารถเข้าถึงหรือหน่วยความจำไม่เพียงพอหรือพื้นที่ดิสก์ไม่เพียงพอ ดูบันทึกข้อผิดพลาด SQL Server …

2
SQL Server 2012 Availability Group นั้นเป็น“ AlwaysON” หรือไม่
ในคลัสเตอร์ SQL Server แบบดั้งเดิมเมื่อเกิด failover ไคลเอนต์ทั้งหมดที่เชื่อมต่อกับ SQL Server ล้มเหลวเช่นการสูญเสียการเชื่อมต่อและลูกค้าแต่ละคนจะต้องสร้างการเชื่อมต่อใหม่ไปยังอินสแตนซ์คลัสเตอร์ล้มเหลว กลุ่มความพร้อมใช้งาน AlwaysON ลดปัญหานี้หรือไม่ failover ในกรณีที่กลุ่มความพร้อมใช้งาน SQL Server 2012 AlwaysON โปร่งใสให้กับลูกค้าที่เชื่อมต่อกับ SQL Server หรือไม่

2
สคีมาเปลี่ยนกลุ่ม "สถานะว่าง" หรือพวกมันถูกจัดการอย่างโปร่งใสหรือไม่?
องค์กรของฉันวางแผนที่จะนำกลุ่มความพร้อมใช้งานของ SQL Server 2012 มาใช้และฉันพยายามที่จะเข้าใจว่าจะมีผลกระทบอย่างไร (ถ้ามี) ในกระบวนการอัปเกรดแอปพลิเคชันของเรา เราปล่อยการอัปเดตแอปพลิเคชันในรอบ 8 สัปดาห์และการเปิดตัวใด ๆ อาจรวมถึงการเปลี่ยนแปลงสคีมาและ / หรือการย้ายข้อมูล สิ่งที่ฉันพยายามทำความเข้าใจคือว่าโซลูชัน HA / DR จะจัดการกับการเปลี่ยนแปลง schema อย่างโปร่งใสหรือไม่ (คอลัมน์ใหม่, ดัชนีเพิ่มเข้ากับ Secondaries) หรือเป็นการแทรกแซงด้วยตนเองที่จำเป็นในการสร้าง schema ในแต่ละอินสแตนซ์ ส่วนการโยกย้ายข้อมูลที่ฉันสมมติว่ามีการจัดการอย่างโปร่งใส แต่ต้องการยืนยันเช่นกัน ฉันเดาว่าฉันกำลังสร้างสมมุติฐานแบบครอบคลุมว่าพฤติกรรมเหล่านี้ไม่แตกต่างกันไปตามการกำหนดค่ากลุ่มความพร้อมใช้งานซึ่งอาจเป็นเท็จเช่นกัน โปรดแจ้งให้เราทราบ โดยสังเขป; ในแอปพลิเคชันของฉันที่ระบุฉันสามารถเปลี่ยนตารางที่มีขนาดใหญ่มาก (10s ถึง 100s ของเรคคอร์ด) โดยการเพิ่มคอลัมน์ลงไป บางคอลัมน์อาจเป็น "ใหม่สุทธิ" เพื่อให้สามารถใช้ประโยชน์จากฟังก์ชันการเปลี่ยนแปลงแบบแผนของ Enterprise Online ได้ คอลัมน์อื่นอาจเป็นการ refactoring ของคอลัมน์ที่มีอยู่ (FullName ได้รับการแบ่งเป็น FirstName …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.