มีวิธีที่ยอดเยี่ยมในการอัปเดต CU สำหรับ SQL Server บนเครื่องหลายร้อยเครื่องหรือไม่?


19

บริษัท ของฉันเติบโตจากเซิร์ฟเวอร์ SQL 50 เครื่องไปเป็นเวลากว่า 200 คืนในการควบรวมกิจการ ช่วยด้วย!

คำถามของฉันคือ:

  • ฉันจะทำการอัปเดต CU บนเซิร์ฟเวอร์จำนวนมากนี้ได้อย่างไรและยังมีชีวิตและรักษาความมีสติอยู่ SCCM ดูเหมือนจะไม่สามารถทำการอัปเดต CU

  • มีใครอีกบ้างที่สามารถทำการอัปเดต CU บนเซิร์ฟเวอร์ 100s ได้หรือไม่

  • อะไรคือทางเลือกอื่น ๆ


วิธีการของ Shawn นั้นเป็นวิธีที่ยอดเยี่ยมที่จะทำ WSUS นั้นยอดเยี่ยมกว่ามาก แต่ก็รองรับได้มากกว่า ทั้งคู่เป็นทางออกที่ดี
Ali Razeghi

5
หน้าต่างหยุดทำงานที่ได้รับอนุญาตของคุณบนเครื่องเหล่านั้นคืออะไร คุณสามารถหยุดทำงานได้ทุกเวลาที่คุณต้องการหรือคุณต้องทำตารางเวลาสำหรับเครื่องเฉพาะหรือไม่ มีส่วนเกี่ยวข้องกับกลุ่มหรือไม่ ทำมิเรอร์และการจำลองแบบ? AlwaysOn กลุ่มความพร้อมใช้งาน? งานแบตช์ที่อาจต้องหยุดทำงานเช่นสำรองหรือโหลดงาน ETL?
Brent Ozar

"เจ๋ง" ไม่ใช่วิธีการอธิบายอย่างมีวัตถุประสงค์ = / ฉันจะแนะนำการแก้ไข แต่ไม่สามารถหาอะไรที่ใช้งานได้
jpmc26

มีการตอบกลับที่ดีสำหรับคำถามนี้ที่โพสต์บนไซต์ Bret Ozars ในบทความของเขา "ทำไมไม่มีใครเคยแก้ไขเซิร์ฟเวอร์ sql ของพวกเขา" brentozar.com/archive/2015/08/…
Russ Starksen

คำตอบ:


15

cool wayคือการใช้สคริปต์การติดตั้งแบบอัตโนมัติที่เพียงถูกเรียกจากแต่ละเซิร์ฟเวอร์ที่สื่อสำหรับการติดตั้งอยู่ในไดเรกทอรีกลางบนเครือข่ายของคุณที่สามารถเข้าถึงได้จากแต่ละเซิร์ฟเวอร์ คุณจะต้องเรียกใช้สคริปต์ในโหมดยกระดับซึ่งค่อนข้างง่ายใน PowerShell

คุณจะต้องใช้ CLI เพื่อแยกโปรแกรมแก้ไขด่วนฉันพบว่าที่นี่ จากนั้นตัวเลือก CLI สำหรับแพทช์ SQL Server สามารถพบได้ที่นี่

คำสั่งต่อไปนี้เป็นสิ่งที่ฉันใช้ในการใช้โปรแกรมแก้ไข CU6 กับอินสแตนซ์ของ SQL Server 2012 SP2 ในเครื่องบนแล็ปท็อปของฉัน ฉันเปลี่ยนเป็นไดเรกทอรีที่ฉันดาวน์โหลดโปรแกรมแก้ไขด่วนเป็น:

.\SQLServer2012-KB3052468-x64.exe /X:E:\Software\SQL_Server\2012\SP2_CU6\Extracted
cd Extracted
.\setup.exe /action=patch /instancename=SQL12 /quiet /IAcceptSQLServerLicenseTerms

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

คุณค่อนข้างเขียนงานนี้เป็นสคริปต์สำหรับแต่ละเซิร์ฟเวอร์จากนั้นดึงบิตสรุปของบันทึก (หรือเพียงแค่บันทึกทั้งหมด) ไปยังจุดศูนย์กลางเพื่อให้คุณสามารถย้อนกลับและกำหนดสถานะ ตัวเลือกที่ 2 จะรวมรหัสสองสามบรรทัดเพื่อเชื่อมต่อกับแต่ละอินสแตนซ์และตรวจสอบหมายเลขบิลด์


9

ติดตั้งแบบอัตโนมัติเป็นวิธีที่จะไป - เป็น@ShawnMelton กล่าวถึง ในการปรับใช้ CU บนเซิร์ฟเวอร์ 100 ตัวคุณสามารถสำรวจตัวเลือกด้านล่าง (ทดสอบเพื่อให้คุณรู้ว่าสิ่งใดจะเหมาะกับคุณและสภาพแวดล้อมของคุณ):

  1. Sysinternals - PsExecจะช่วยให้คุณวางไข่การติดตั้งบนเครื่องระยะไกล
  2. PowerShell - ใช้คุณสมบัติ remoting ใน PowerShell 3.0 ขึ้นไปเพื่อทำการติดตั้ง เช่นEnter-PSSession -ComputerName <COMPUTERNAME>
  3. เก่าคือทองคำใช้.batไฟล์ <== สิ่งนี้จะทำงานร่วมกับ SCCM ได้อย่างแน่นอนเนื่องจากคุณสามารถปรับใช้.batไฟล์กับเซิร์ฟเวอร์หลายเครื่องโดยใช้ SCCM

    ด้านล่างเป็นตัวอย่างของการติดตั้ง(ปรับเปลี่ยนตามความต้องการของคุณ)SQL2008_SP2_and_CU_2k8_64bit คุณสามารถป้อนไฟล์ bat ลงใน SCCM เพื่อให้สามารถติดตั้งจำนวนมากได้

    REM starting SQL SP2 cu install.
    "C:\temp\SQL2008_SP2_and_CU_2k8_64bit\CU\SQLServer2008-KB2467239-x64.exe" /allinstances /quiet
    REM SQL SP2 cu install complete
    
    REM optional   STEP to reboot your machine 
    REM Reboot the host before kicking off the install
    shutdown.exe /r /f /c "DBA scheduled reboot" /t 30

ในฐานะที่เป็นข้อความด้านข้าง (ข้อควรระวัง!):

ฉันจะไม่ทำการอัปเดตจำนวนมากในเซิร์ฟเวอร์จำนวนมาก (100 รายการ) ในครั้งเดียว แทนที่จะจัดกลุ่มพวกมันเป็นกลุ่มที่จัดการได้และจากนั้นก็ทำการปะเป็นกลุ่ม

วิธีนี้คุณสามารถเข้าใจได้อย่างง่ายดายว่ามีอะไรผิดพลาดหรือไม่เช่นถ้ามีข้อผิดพลาดใน CU ที่คุณกำลังติดตั้งและได้รับการแก้ไขใน CU หรือ SP ในภายหลัง หรือการติดตั้งที่ชาญฉลาดเช่นกันหากคุณกำลังทำการปะแก้เซิร์ฟเวอร์ 100 ตัวในการยิงครั้งเดียวและจากเซิร์ฟเวอร์ 5 หรือ 7 ตัวที่ไม่ได้รับการติดตั้งอย่างถูกต้องคุณจะคิดได้อย่างไร?

ฉันจัดการเซิร์ฟเวอร์มากกว่า 300+ แห่งใน บริษัท ของฉันและฉันชอบที่จะปรับปรุงเป็นกลุ่มเล็ก ๆ เป็นรายสัปดาห์ ดังนั้นคุณเริ่มต้นด้วยจำนวนน้อยและเมื่อคุณได้รับความมั่นใจคุณทำซ้ำกัน

แก้ไข:

ตอนนี้ dbatools มีUpdate-DbaInstance.ps1ที่สามารถทำการติดตั้ง SQL Server Service Packs และการปรับปรุงที่สะสมบนเซิร์ฟเวอร์ภายในและระยะไกล

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