Có cách nào hay để thực hiện cập nhật CU cho SQL Server trên hàng trăm máy không?


19

Công ty của tôi đã tăng từ 50 Máy chủ SQL lên hơn 200 qua đêm trong một vụ mua lại sáp nhập. CỨU GIÚP!

Câu hỏi của tôi là:

  • Làm cách nào tôi có thể thực hiện cập nhật CU trên nhiều máy chủ này mà vẫn có một cuộc sống và giữ sự tỉnh táo của tôi? SCCM dường như không thể thực hiện cập nhật CU.

  • Có ai khác có thể thực hiện cập nhật CU trên 100 máy chủ không?

  • Một số lựa chọn thay thế khác là gì?


Phương pháp của Shawn chắc chắn là một phương pháp tuyệt vời để làm điều đó. WSUS mát mẻ hơn nhiều, nhưng được hỗ trợ nhiều hơn. Cả hai đều là giải pháp tốt.
Ali Razeghi

5
Cửa sổ ngừng hoạt động được phép của bạn trên những máy đó là gì? Bạn có thể mất điện bất cứ lúc nào bạn muốn, hoặc bạn phải làm lịch trình cho các máy cụ thể? Là cụm liên quan? Phản chiếu và nhân rộng? Luôn luôn có sẵn các nhóm? Các công việc hàng loạt có thể cần phải dừng lại, như sao lưu hoặc tải công việc ETL?
Brent Ozar

"Tuyệt" không phải là một cách khách quan để mô tả một cái gì đó. = / Tôi sẽ đề xuất một chỉnh sửa, nhưng không thể đưa ra bất cứ điều gì hiệu quả.
jpmc26

Có một câu trả lời tuyệt vời cho câu hỏi này được đăng trên trang web Bret Ozars trong bài viết của mình. "Tại sao không ai từng vá máy chủ sql của họ". brentozar.com/archive/2015/08/ từ
Russ Starksen 6/08/2015

Câu trả lời:


15

Các cool way là sử dụng một kịch bản cài đặt tự động mà chỉ đơn giản được gọi là từ mỗi máy chủ, nơi mà các phương tiện truyền thông cho quá trình cài đặt vào một thư mục trung tâm trên mạng của bạn, có thể truy cập từ mỗi máy chủ. Bạn sẽ phải chạy tập lệnh ở chế độ nâng cao, điều này khá dễ dàng trong PowerShell.

Bạn sẽ cần sử dụng CLI để giải nén hotfix, tôi thấy rằng ở đây . Sau đó, các tùy chọn CLI cho bản vá SQL Server có thể được tìm thấy ở đây .

Các lệnh sau đây là những gì tôi đã sử dụng để áp dụng bản vá CU6 cho phiên bản SQL Server 2012 SP2 cục bộ trên máy tính xách tay của mình. Tôi đã thay đổi thư mục tôi đã tải xuống hotfix để:

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

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Bạn chỉ cần viết kịch bản này cho mỗi máy chủ, sau đó kéo một chút của nhật ký tóm tắt (hoặc chỉ toàn bộ nhật ký) đến một vị trí trung tâm để bạn có thể quay lại và xác định trạng thái. Tùy chọn 2 sẽ chỉ bao gồm một vài dòng mã để kết nối với từng phiên bản và xác minh số bản dựng.


9

Cài đặt không giám sát là cách để đi - như @ShawnMelton đã đề cập . Để triển khai CU trên 100 máy chủ, bạn có thể khám phá các tùy chọn bên dưới (kiểm tra chúng, để bạn biết những gì sẽ hoạt động cho bạn và môi trường của bạn):

  1. Sysiternals -PsExec sẽ cho phép bạn sinh ra cài đặt trên các máy từ xa.
  2. PowerShell - Sử dụng tính năng từ xa trong PowerShell 3.0 trở lên để thực hiện cài đặt. ví dụEnter-PSSession -ComputerName <COMPUTERNAME>
  3. Cũ là Vàng - sử dụng .battập tin. <== điều này chắc chắn hoạt động với SCCM vì bạn có thể triển khai .batcác tệp đến nhiều máy chủ bằng SCCM.

    Dưới đây là một mẫu cài đặt SQL2008_SP2_and_CU_2k8_64bit (sửa đổi theo nhu cầu của bạn) . Bạn có thể cung cấp tệp bat cho SCCM để nó có thể cài đặt hàng loạt.

    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

Như một lưu ý phụ (Chú ý!):

Tôi sẽ không bao giờ thực hiện loại cập nhật hàng loạt này cho nhiều máy chủ (100) trong một lần. Thay vào đó hãy gom chúng lại thành các nhóm có thể quản lý và sau đó vá chúng theo nhóm.

Bằng cách này, bạn có thể dễ dàng tìm ra nếu có sự cố xảy ra - ví dụ: nếu có lỗi trong CU bạn đang cài đặt và nó được sửa trong CU hoặc SP sau này. Hoặc cài đặt cũng khôn ngoan, nếu bạn đang vá 100 máy chủ trong một lần bắn và trong số đó có 5 hoặc 7 máy chủ không được vá đúng cách, bạn sẽ tìm ra điều đó như thế nào?

Tôi quản lý hơn 300 máy chủ trong công ty của mình và tôi thích vá chúng theo từng đợt nhỏ hơn trên cơ sở hàng tuần. VÌ bạn bắt đầu với số lượng nhỏ và một khi bạn có được sự tự tin, bạn lặp lại tương tự.

CHỈNH SỬA:

Bây giờ dbatools có Update-DbaInstance.ps1thể thực hiện cài đặt Gói dịch vụ SQL Server và Cập nhật tích lũy trên các máy chủ từ xa và cục bộ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.