DBAtlas · データベース運用アトラス

SQL Server 累積更新プログラム (CU) の適用

SQL Serverレベル: 中級所要時間: 30~90 分

インストール済みの SQL Server 2022/2025 インスタンスに、同じメジャーバージョン内の累積更新プログラム (CU) を適用します: Linux では dnf/apt で、Windows では CU のセットアップファイルによるサイレント (/quiet) インストールで行います。単一サーバー、または Always On AG での rolling 適用 (先に secondary、failover、その後に旧 primary。Linux では Pacemaker を使用) に対応します。事前チェック、COPY_ONLY バックアップ、検証、ロールバックを含み、最終的にすべてのレプリカが同じ CU で正常な状態になります。

メジャーバージョンのアップグレード (例: 2019 → 2022) はこのガイドの対象外です。新規インストールは Linux または Windows のインストールガイド、AG の日常運用は AG の運用 を参照してください。

構成: サーバー 1 台、または AG (レプリカ 2 台以上)

開始前の確認

  • 適用する CU を決定し、KB の注記 (既知の問題、前提条件) を確認済みであること。…対象: ………リポジトリの最新 CU…。…セットアップファイル … が…全ノードの同じパスにあること…サーバー上にあること…。…
  • CU を先にテスト/ステージング環境に適用し、アプリケーションのテストに合格していること。
  • メンテナンスウィンドウが承認され、アプリケーションチームに通知済みであること。…rolling 更新では、短い停止 (数秒) は failover の時点だけです。…単一サーバーではサービスを再起動します (数分間の停止)。…
  • サーバーのスナップショット (仮想マシン) または OS レベルの復元ポイントを取得できる状態であること。
  • /var/opt/mssql と /opt に 2 GB 以上の空きがあり、バックアップディレクトリ (…) に全データベースの圧縮フルバックアップを置ける容量があること。
  • サーバーが SQL Server … のリポジトリにアクセスできること (新しい CU がリポジトリに公開済みであること)。
  • sqlcmd のステップは … で接続します。スクリプトの実行前に: read -rsp 'Password: ' SQLCMDPASSWORD; export SQLCMDPASSWORD と sudo --preserve-env=SQLCMDPASSWORD bash <script>.sh。
  • システムドライブに 6 GB 以上の空きがあること。保留中の Windows の再起動がないこと。SQL Server に接続している SSMS などのツールを閉じていること。PowerShell を sysadmin 権限を持つ Windows アカウントで、管理者として開いていること。sqlcmd が PATH にあること。
  • AG が正常であること: 全レプリカが接続済み、データベースが同期済み、failover 先 (…) が SYNCHRONOUS_COMMIT。非同期のレプリカしかない場合は、先にいずれかを同期に変更してください。
  • Pacemaker クラスターが正常であること (pcs status にエラーがなく、fencing が機能している)。AG リソースは …。

ガイドのフェーズ

  • 事前チェック — 現在のバージョンを記録し、リポジトリ内のバージョンを一覧表示する · 現在のバージョンを記録し、リポジトリ内のバージョンを一覧表示する: … · 新しいバージョンを事前にダウンロードする · 新しいバージョンを事前にダウンロードする: … · セットアップファイルとサーバーを確認する · セットアップファイルとノードを確認する: … …
  • バックアップと切り戻しポイント — 全データベースの COPY_ONLY バックアップを取得する · 全データベースの COPY_ONLY バックアップを取得する · サーバーのスナップショットを取得する
  • CU の適用 (単一サーバー) — アプリケーションの接続を停止する · アプリケーションの接続を停止する · SQL Server を更新する · CU をサイレントインストールする
  • Rolling での CU 適用 (Windows AG) — 自動 failover を一時的に無効化する · 追加の secondary を更新する: … · failover 先を更新する: … · 更新した secondary が同期済みであることを確認する · Failover: … を primary にする · 旧 primary を更新する: … …
  • Rolling での CU 適用 (Linux AG) — 追加の secondary を更新する: … · 追加の secondary を更新する: … · failover 先を更新する: … · failover 先を更新する: … · 更新した secondary が同期済みであることを確認する · Failover: … を primary にする (Pacemaker) …
  • 検証 — バージョンと CU レベルを確認する · バージョンと CU レベルを確認する: … · バージョンと CU レベルを確認する · バージョンと CU レベルを確認する: … · errorlog にアップグレードのエラーがないことを確認する · errorlog にアップグレードのエラーがないことを確認する …
  • ロールバック (必要な場合) — 以前のバージョンに戻す · CU をアンインストールする · ロールバック後にバージョンを確認する · ロールバック後にバージョンを確認する
環境に合わせた手順プランを開く →