更新履歴(初版のみ・2026年11月01日公開)
- 初版公開
この記事を引用する(DOI(登録済みアーカイブ): 10.5281/zenodo.23904606)
以下のDOIは過去に登録されたアーカイブを指しており、現在の本文とは一致しない場合があります。現在の本文を参照するときは、このページのURLを使用してください。
小村 豪(2026)「Windows Server 2016のサポート終了に備える ── 業務アプリとSQL Serverを棚卸しして移行順を決める判断表」合同会社小村ソフト. https://comcomponent.com/blog/windows-server-2016-end-of-support/
- DOI(登録済みアーカイブ)
- 10.5281/zenodo.23904606
- DOI(前回登録した版)
- 10.5281/zenodo.23904607
Windows Server 2016 の延長サポートは、2027年1月12日に終わります。この記事を書いている2026年11月から数えると、残りは2か月あまりです。社内のサーバーに Windows Server 2016 が残っていて、その上で業務アプリや SQL Server が動いている会社に向けて、何をどの順番で調べ、どう移すかを決める方法をまとめます。
答えの要点は3つです。まず、サーバーの役割、アプリ、サービス、スケジュールタスク、SQL Server を書き出します。次に SQL Server のバージョンを確かめます。SQL Server 2016 と 2017 は Windows Server 2025 での動作がサポートされていないので、OS だけを上げる計画は組めません。そのうえで、インプレースアップグレード、新しいサーバーへの移行、ESU での一時的な延命から、役割ごとに方法を選びます。
対象は中小企業の社内に置かれた Windows Server 2016 のサーバー(物理・仮想)です。クラスター構成には簡単に触れるだけにします。日付と条件は、2026年11月1日に Microsoft の資料で確かめた内容です。この記事のコマンドは Windows Server でしか動かないもので、Windows Server 2022 の Windows PowerShell 5.1(管理者)で実行して出力を確かめています。
Windows 10 のサポート終了への備えは「Windows 10サポート終了後の現実解」にまとめています。クライアント側と同じく、サーバー側も棚卸しから始めます。
2027年1月12日に終わるもの
Microsoft は Windows Server 2016 の延長サポートの終了日を2027年1月12日としています1。ライフサイクルのページの表では、米国太平洋時間の2027年1月13日午前6時59分59秒が終了時刻として表示されています2。日本時間では2027年1月13日の23時59分59秒です。
終了後は、セキュリティ更新、セキュリティ以外の更新、不具合の修正、技術サポートが提供されなくなります1。Microsoft は移行先として Windows Server 2025 を勧めています1。サーバーが止まるわけではありません。動き続けるが、新しく見つかった脆弱性は修正されない、という状態になります。
flowchart TB
accTitle: Windows Server 2016の延長サポート終了後に起きること
accDescr: 2027年1月12日の延長サポート終了後もサーバーは動き続けるが、セキュリティ更新や不具合の修正が届かなくなり、移行するかESUで一時的に延命するかを選ぶことを示す。
EOS["2027年1月12日 延長サポート終了"] --> RUN["サーバーは動き続ける"]
EOS --> STOP["セキュリティ更新と修正が届かない"]
STOP --> MIG["新しいOSへ移行する"]
STOP -.-> ESU["ESUで一時的に延命する"]
ESU -.-> MIG
図1: 終了後もサーバーは動くが更新は届かず、移行するかESUで一時的に延命するかを選ぶ。
同じサーバーで SQL Server が動いているなら、その期限も合わせて確かめます。ライフサイクルのページの表は、どの製品も終了時刻を米国太平洋時間で翌日の午前6時59分59秒と表示しています。次の表の日付はその前日(Microsoft が終了日として案内する日)です。
| 製品 | 延長サポートの終了 | ESU |
|---|---|---|
| Windows Server 2016 | 2027年1月12日 | 2030年まで(最長3年) |
| SQL Server 2014 | 2024年7月9日(終了済み) | 2027年7月12日まで |
| SQL Server 2016 | 2026年7月14日(終了済み) | 2029年7月まで(最長3年) |
| SQL Server 2017 | 2027年10月12日 | ― |
| SQL Server 2019 | 2030年1月8日 | ― |
| SQL Server 2022 | 2033年1月11日 | ― |
表の出典: 各製品のライフサイクルのページ3と、Windows Server 2016 のESUの資料4。
SQL Server 2016 のサポートは Windows Server 2016 より先に終わっていて、SQL Server 2017 も Windows Server 2016 の9か月後に終わります。OS の移行だけを考えて SQL Server を後回しにすると、すぐに次の移行が必要になります。
図の実線は常に成り立つ関係、破線は条件付きの関係です(成立条件は詳細ページの各関係の説明に記載)。関係すべての一覧(全10件、根拠・確度つき)と主要概念の定義は知識マップ詳細ページにまとめています。データ: JSON-LD / Turtle
ESUは移行が終わるまでの一時的な手段
移行が期限に間に合わないサーバーには、拡張セキュリティ更新(ESU)があります。Windows Server 2016 の ESU は、Azure Arc に接続したサーバーで有効にします4。条件は次のとおりです。
- 提供されるのは緊急(Critical)と重要(Important)のセキュリティ更新だけで、新しい機能やセキュリティ以外の修正は含まれません。
- 期間は最長3年、2030年までです。
- Azure ポータルでの設定は2026年8月3日から始まっていて、課金は2027年1月13日から始まります。
- 対象は Standard と Datacenter のエディションです。
- 購入には、Enterprise Agreement などのボリュームライセンスでのソフトウェアアシュアランスが必要です。SPLA やサーバーサブスクリプションでライセンスしているサーバーは、ソフトウェアアシュアランスなしで購入できます。
- サーバーには Azure Connected Machine エージェントのバージョン 1.62 以降を入れます。
ESU で受けられる技術サポートは、ESU ライセンスの有効化、毎月の更新のインストール、更新が原因の問題の修正に限られます1。アプリが動かなくなったときの調査などは含まれません。
flowchart TB
accTitle: Windows Server 2016のESUを受け取る流れ
accDescr: ソフトウェアアシュアランスなどの購入条件を満たしたうえで、サーバーをAzure Arcに接続し、ESUライセンスを作成してサーバーに割り当てると、最長3年間、緊急と重要のセキュリティ更新が届くことを示す。
SA["ソフトウェアアシュアランスなど"] --> ARC["サーバーをAzure Arcに接続"]
ARC --> LIC["ESUライセンスを作成して割り当て"]
LIC --> UPD["緊急・重要のセキュリティ更新"]
UPD -.-> END["最長3年 2030年まで"]
図2: ESUはAzure Arcに接続したサーバーに割り当て、セキュリティ更新だけを受け取る。
Azure の仮想マシンに移す場合、ESU の FAQ は、Azure の仮想マシンでは ESU が無料で提供されると説明しています5。ただし SQL Server 2016 については、Azure の仮想マシンへ移しても ESU は無料にならないと明記されています6。Azure へ移して延命する案を考えるときは、OS と SQL Server の条件を別々に確かめます。
flowchart TB
accTitle: Azureの仮想マシンへ移したときのESUの条件
accDescr: Azureの仮想マシンへ移す場合、ESUのFAQは仮想マシンでESUが無料で提供されると説明する一方、SQL Server 2016は仮想マシンへ移してもESUが無料にならないと明記されているため、OSとSQL Serverの条件を別々に確かめることを示す。
VM["Azureの仮想マシンへ移す"] --> OS["ESUのFAQ 仮想マシンでは無料"]
VM --> SQL["SQL Server 2016 無料にならない"]
OS --> CHK["OSとSQL Serverの条件を別々に確かめる"]
SQL --> CHK
図3: Azureへ移すときは、OSとSQL ServerのESUの条件を分けて確かめる。
ESU は移行の作業期間を確保するために使います。ESU を入れても、移行の作業そのものは減りません。終わりの時期を決めずに ESU を続けると、その間は課金が続き、2030年に ESU が終わるときに同じ判断がもう一度必要になります。
棚卸しは役割から始める
移行の方法を決める前に、サーバーで何が動いているかを書き出します。順番は次のとおりです。
- サーバーの役割と機能(ファイルサーバー、ドメインコントローラー、IIS など)
- インストールされているアプリ、サービス、スケジュールタスク
- アプリが依存しているもの(.NET Framework、ドライバー、32bit の部品、ライセンス)
- SQL Server のバージョン、エディション、データベースの互換性レベル
- バックアップの取り方と、戻せるかどうか
flowchart TB
accTitle: Windows Server 2016の棚卸しの順番
accDescr: 役割と機能、アプリとサービスとタスク、アプリの依存、SQL Serverのバージョンと互換性レベル、バックアップと復元の確認の順に棚卸しし、その結果から移行方法を選ぶことを示す。
R["役割と機能"] --> A["アプリ・サービス・タスク"]
A --> D["アプリの依存"]
D --> S["SQL Serverのバージョンと互換性レベル"]
S --> B["バックアップと復元の確認"]
B --> C["移行方法を選ぶ"]
図4: 役割から始めて、SQL Serverとバックアップまで調べてから移行方法を選ぶ。
役割を最初に調べるのは、役割によって移行の方法が決まるからです。たとえばドメインコントローラーは、インプレースアップグレードを使わずに、新しいサーバーを昇格させて古いサーバーを降格させるよう Microsoft が勧めています7。
次のコマンドは管理者として開いた PowerShell で実行します。どれも Microsoft の資料に載っている書き方に合わせています。
# 1. インストールされている役割と機能
Get-WindowsFeature | Where-Object Installed |
Select-Object Name, DisplayName |
Export-Csv -Path .\roles-features.csv -NoTypeInformation -Encoding UTF8
# 2. インストールされているアプリ(64bitと32bitの両方)
$paths = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
Get-ItemProperty -Path $paths -ErrorAction SilentlyContinue |
Where-Object DisplayName |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate, PSPath |
Sort-Object DisplayName |
Export-Csv -Path .\installed-apps.csv -NoTypeInformation -Encoding UTF8
# 3. サービス(実行ファイルのパスと実行アカウント)
Get-CimInstance -ClassName Win32_Service |
Select-Object Name, DisplayName, StartMode, State, StartName, PathName |
Export-Csv -Path .\services.csv -NoTypeInformation -Encoding UTF8
# 4. Microsoft以外のフォルダーにあるスケジュールタスク
Get-ScheduledTask |
Where-Object TaskPath -notlike '\Microsoft\*' |
Select-Object TaskPath, TaskName, State |
Export-Csv -Path .\scheduled-tasks.csv -NoTypeInformation -Encoding UTF8
# 5. .NET Framework 4.x のRelease値
Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release
Get-WindowsFeature はサーバーで使える機能と入っている機能を返すので8、Where-Object Installed で入っているものだけに絞ります。
アプリの一覧はアンインストール情報のレジストリキーから読みます9。64bit の Windows では 32bit のアプリの情報が WOW6432Node の下に置かれるので10、両方を読みます。PSPath の列を見れば、どちらから読んだ行かが分かります。32bit のアプリは、新しいサーバーでも 32bit の部品(COM や ODBC ドライバーなど)がそろうかを確かめる対象です。
アプリの一覧を Win32_Product クラスで取る方法は使いません。Microsoft は、このクラスを照会すると Windows Installer が製品を構成し直したというイベント(ID 1035)が記録され、起動やログオンが遅くなることがあると説明しています11。
サービスの PathName と StartName からは、実行ファイルの場所と実行アカウントが分かります12。業務アプリのサービスが専用のアカウントで動いているなら、移行先でも同じ権限を用意します。スケジュールタスクは \Microsoft\ の下にない自作のものを書き出します13。夜間のバッチやほかのシステムとの連携処理が登録されていれば、移行先にも同じタスクが要ります。
.NET Framework 4.x のバージョンは Release の値で分かり、たとえば 528040 以上なら .NET Framework 4.8 以降です14。
アプリごとに、次の4つの依存を確かめます。
flowchart TB
accTitle: 業務アプリごとに確かめる依存
accDescr: 業務アプリについて、.NET Frameworkのバージョン、装置や帳票のドライバー、32bitのCOMやODBCドライバーなどの部品、アプリと新しいOSのライセンスの4つを確かめ、そろわないものが移行の条件になることを示す。
APP["業務アプリ"] --> N[".NET Frameworkのバージョン"]
APP --> DRV["装置・帳票のドライバー"]
APP --> COM["32bitのCOMやODBC"]
APP --> LIC["アプリとOSのライセンス"]
N --> GAP["そろわないものが移行の条件になる"]
DRV --> GAP
COM --> GAP
LIC --> GAP
図5: アプリごとに4つの依存を確かめ、新しいサーバーでそろわないものを洗い出す。
ライセンスは見落としやすい項目です。Windows Server は、アップグレードのたびに新しいバージョンのライセンスが要ります15。クライアントアクセスライセンス(CAL)や、業務アプリ側のライセンスが新しいサーバーに移せるかも、購入先やアプリの提供元に確認します。アプリの提供元のサポートが切れている場合は、「保守契約が切れた業務アプリをどうするか」の判断表も使えます。
SQL Serverのバージョンを先に確かめる
サーバーに SQL Server が入っているなら、移行方法を決める前にバージョンを確かめます。SQL Server のバージョンによって、移行先にできる Windows Server のバージョンが限られるからです。
Microsoft の SQL Server と Windows の対応表では、Windows Server 2025 で動作がサポートされるのは SQL Server 2019、2022、2025 です。SQL Server 2016 と 2017 はサポートされていません。Windows Server 2022 では、SQL Server 2017 から 2025 がサポートされ、SQL Server 2016 はサポートされていません16。
flowchart TB
accTitle: SQL Serverのバージョンと移行先のWindows Server
accDescr: SQL Server 2016はWindows Server 2022と2025でサポートされず、SQL Server 2017はWindows Server 2025でサポートされないため、OSだけを上げる前にSQL Serverのバージョンを決める必要があり、SQL Server 2019以降ならWindows Server 2025で動作がサポートされることを示す。
S16["SQL Server 2016"] -.->|"サポート外"| W22["Windows Server 2022"]
S16 -.->|"サポート外"| W25["Windows Server 2025"]
S17["SQL Server 2017"] -.->|"サポート外"| W25
S19["SQL Server 2019 以降"] -->|"サポート"| W25
図6: SQL Server 2016と2017のままでは、Windows Server 2025へOSだけを上げられない。
いまのバージョンとエディションは、SQL Server Management Studio などから次のクエリで確かめます。このクエリは SQL Server 2016 SP3 の Express LocalDB で実行して確かめています。
SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition;
SELECT name, compatibility_level, recovery_model_desc
FROM sys.databases;
ProductVersion はバージョン番号、ProductLevel は RTM やサービスパックのレベル、Edition はエディションを返します17。sys.databases の compatibility_level は、各データベースの互換性レベルです18。互換性レベル 130 は SQL Server 2016、140 は 2017、150 は 2019、160 は 2022 の既定値です19。
SQL Server 2016 から SQL Server 2022 へは、SQL Server 2016 SP3 以降であればアップグレードできます20。データベースを新しいサーバーの SQL Server 2022 へ復元した場合、互換性レベルは元の値のまま残ります19。クエリの実行計画が変わるのは、互換性レベルを上げたときです。
Microsoft は互換性レベルを上げるときの手順として、クエリストアを使う方法を勧めています21。
- 互換性レベルを変えずに SQL Server を新しいバージョンにする。
- クエリストアを有効にする。
- 業務の一巡りの間、元の互換性レベルのままクエリと実行計画を記録し、基準にする。
- 互換性レベルを新しいバージョンのものに上げる。
- 遅くなったクエリをクエリストアで探し、以前の実行計画を強制する。直らなければ互換性レベルを戻す。
flowchart TB
accTitle: SQL Serverを新しいバージョンにしてから互換性レベルを上げる手順
accDescr: 互換性レベルを変えずにSQL Serverを新しいバージョンにし、クエリストアで基準を記録してから互換性レベルを上げ、遅くなったクエリには以前の実行計画を強制し、直らなければ互換性レベルを戻すことを示す。
UP["互換性レベルはそのままバージョンを上げる"] --> QS["クエリストアを有効にする"]
QS --> BASE["業務の一巡りで基準を記録"]
BASE --> CL["互換性レベルを上げる"]
CL --> CHK["遅くなったクエリを探す"]
CHK --> FORCE["以前の実行計画を強制"]
FORCE -.-> BACK["直らなければレベルを戻す"]
図7: バージョンの更新と互換性レベルの変更を分け、間にクエリストアで基準を取る。
OS の移行と SQL Server のバージョンの更新を同じ日に行う場合でも、互換性レベルの変更は後に回せます。移行の当日に変える項目が減るので、問題が出たときに原因を絞り込みやすくなります。
役割ごとに移行方法を選ぶ
棚卸しの結果から、サーバーごと、役割ごとに移行方法を選びます。選択肢は同じサーバーの OS を上げるインプレースアップグレード、新しいサーバーを用意して移す移行、Azure の仮想マシンへの移行、ESU での一時的な延命の4つです。
| サーバーの状況 | 移行方法の候補 | 理由 |
|---|---|---|
| ドメインコントローラー | 新しいサーバーを昇格させ、古いサーバーを降格する | Microsoft がインプレースアップグレードを使わないよう勧めている7 |
| SQL Server 2016 / 2017 が同居している | 新しいサーバーに SQL Server 2022 などを入れて移す | Windows Server 2025 では SQL Server 2016 / 2017 がサポートされない16 |
| 業務アプリの新しいOSでのサポートが確認できない | 試験用の複製で動作を確かめてから決める。間に合わなければ ESU で期限を延ばす | サポートの確認がないまま本番のOSを上げると戻しにくい |
| ファイルサーバーなど役割が単純で、アプリのサポートも確認できた | インプレースアップグレードも候補 | 設定とデータを残したままバージョンを上げられる15 |
| サーバー機器も古く、更新したい | 新しいサーバーか Azure の仮想マシンへ移す | 新しいOSのハードウェア要件を満たさないことがある22 |
flowchart TB
accTitle: 移行方法を選ぶ流れ
accDescr: ドメインコントローラーなら新しいサーバーを昇格させ、SQL Server 2016か2017が同居していれば新しいサーバーへSQL Serverごと移し、アプリのサポートが確認できなければ試験してから決め、それ以外で役割が単純ならインプレースアップグレードも候補になることを示す。
Q1{"ドメインコントローラー?"} -->|"はい"| NEWDC["新しいサーバーを昇格"]
Q1 -->|"いいえ"| Q2{"SQL Server 2016/2017?"}
Q2 -->|"はい"| NEWSQL["新しいサーバーへ移す"]
Q2 -->|"いいえ"| Q3{"アプリのサポートを確認済み?"}
Q3 -->|"いいえ"| TEST["複製で試験してから決める"]
Q3 -->|"はい"| IPU["インプレースアップグレードも候補"]
図8: 役割とSQL Serverとアプリのサポートの順に確かめて、移行方法を絞る。
インプレースアップグレードを選ぶ場合は、上げられるバージョンを確かめます。インストールメディアを使うと、Windows Server 2016 からは 2019、2022、2025 へ上げられます。Windows Update の機能更新で 2025 へ上げる方法は、Windows Server 2019 と 2022 だけが対象で、2016 からは使えません15。クラスターを構成しているサーバーにはインプレースアップグレードは使えず、クラスターのローリングアップグレードで1つずつバージョンを上げます715。
flowchart TB
accTitle: Windows Server 2016からのインプレースアップグレードの経路
accDescr: Windows Server 2016からはインストールメディアで2019、2022、2025へ上げられ、Windows Updateの機能更新で2025へ上げる方法は2019と2022だけが対象であることを示す。
W16["Windows Server 2016"] -->|"インストールメディア"| W19["Windows Server 2019"]
W16 -->|"インストールメディア"| W22["Windows Server 2022"]
W16 -->|"インストールメディア"| W25["Windows Server 2025"]
W19 -.->|"Windows Update"| W25
W22 -.->|"Windows Update"| W25
図9: 2016からはインストールメディアで上げる。Windows Updateでの更新は2019と2022が対象。
同じ機器のまま Windows Server 2025 へ上げる場合は、CPU が要件を満たすかも確かめます。Windows Server 2025 は、SSE4.2 と POPCNT 命令、第2レベルのアドレス変換(EPT または NPT)などに対応した 64bit の CPU を求めています。CPU の対応は Sysinternals の Coreinfo で確かめられます22。
本番の前に複製で試す
どの方法を選んでも、本番のサーバーで初めて試すことは避けます。Microsoft はインプレースアップグレードの前提として、OS・アプリ・データを含む完全なバックアップを取り、復元できることを試しておくよう求めています7。
flowchart TB
accTitle: 移行前の試験の流れ
accDescr: 完全なバックアップを取り、試験用の仮想マシンへ復元して戻せることを確かめ、その複製で移行やアップグレードを行い、業務を一巡させて確かめてから本番の切り替え日を決めることを示す。
BK["完全なバックアップ"] --> RS["試験用の仮想マシンへ復元"]
RS --> MV["複製で移行・アップグレード"]
MV --> RUN["業務を一巡させて確かめる"]
RUN --> GO["本番の切り替え日を決める"]
RUN -.->|"問題あり"| FIX["原因を直して再試験"]
FIX -.-> MV
図10: バックアップから作った複製で移行を試し、業務を一巡させてから本番に進む。
複製では次の点を確かめます。
- 業務アプリが起動し、普段の操作が一通りできるか
- 帳票の印刷、装置との通信、ほかのシステムとの連携が動くか
- スケジュールタスクとサービスが、移行前と同じアカウントと権限で動くか
- SQL Server を使うアプリなら、月末処理など重い処理の時間が変わらないか
インプレースアップグレードの手順書は、アップグレードの前に診断情報を保存しておくよう勧めています7。失敗したときに、元の状態を調べられるようにするためです。
Get-ComputerInfo -Property WindowsBuildLabEx,WindowsEditionID | Out-File -FilePath .\computerinfo.txt
systeminfo.exe | Out-File -FilePath systeminfo.txt
ipconfig /all | Out-File -FilePath ipconfig.txt
保存したファイルはアップグレードするサーバーの外(ネットワーク上の場所や USB メモリ)に置きます。バックアップの設計については、並行して書いている「ランサムウェアに耐えるバックアップ」も参考にしてください。
期限から逆算して決める順番
2026年11月の時点で、2027年1月12日までの時間は限られています。全部のサーバーを期限までに移せない場合は、移す順番を決めて、残るサーバーに ESU を使います。
flowchart TB
accTitle: 期限までに決める順番
accDescr: 棚卸しを終え、サーバーごとに移行方法を決め、期限までに移せるサーバーから試験と移行を進め、間に合わないサーバーにはESUを用意して移行の完了時期を決めることを示す。
INV["棚卸しを終える"] --> PLAN["サーバーごとに方法を決める"]
PLAN --> FIT{"1月12日までに移せる?"}
FIT -->|"はい"| DO["試験して移行する"]
FIT -->|"いいえ"| ESU["ESUを用意する"]
ESU --> DUE["移行の完了時期を決める"]
DUE --> DO
図11: 期限に間に合うサーバーから移し、間に合わないものはESUと完了時期を組にする。
ESU を使うサーバーにも移行の完了時期を決めておきます。Azure Arc の ESU は使っている間は課金が続き4、期間も最長で2030年までです。ESU の設定は2026年8月から始まっているので、購入条件(ソフトウェアアシュアランスなど)を満たしているかは早めに確かめます。
サーバーで動く業務アプリが古く、移行先のOSで動かすために改修が必要な場合もあります。.NET Framework のアプリを新しい .NET へ移すかどうかは「.NET Frameworkから.NETへの移行前チェックリスト」、VB6 や Access のアプリは「VB6 / Access業務アプリの延命と移行」で判断の材料をまとめています。
関連記事
- Windows 10サポート終了後の現実解 ── ESU・LTSC・買い替えの判断表
- 保守契約が切れた業務アプリをどうするか ── 延命・改修・作り直しの判断表
- .NET Frameworkから.NETへの移行前チェックリスト
- VB6 / Access業務アプリの延命と移行
- ボリュームシャドウコピー(VSS)の仕組みと実務
- ランサムウェアに耐えるバックアップ
参考リンク
-
Microsoft Tech Community, Plan for Windows Server 2016 and Windows 10 2016 LTSB end of support. Windows Server 2016 のサポート終了日、終了後に提供されなくなるもの、ESU に含まれるものと含まれないもの。 ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, Windows Server 2016 - Microsoft Lifecycle. 固定ライフサイクルポリシーと、米国太平洋時間で表示された延長サポートの終了時刻。 ↩
-
Microsoft Learn, SQL Server 2014、SQL Server 2016、SQL Server 2017、SQL Server 2019、SQL Server 2022 の各ライフサイクルのページ。延長サポートの終了時刻と ESU の期間。 ↩
-
Microsoft Learn, Prepare to deliver Extended Security Updates for Windows Server through Azure Arc. Windows Server 2016 の ESU の期間、更新の種類、設定と課金の開始日、対象エディション、購入条件、エージェントのバージョン。 ↩ ↩2 ↩3
-
Microsoft Learn, Product Lifecycle FAQ - Extended Security Updates. Azure 上の仮想マシンでは ESU が無料で提供されること。 ↩
-
Microsoft Learn, What are Extended Security Updates for SQL Server?. SQL Server 2016 では Azure の仮想マシンへ移しても ESU が無料にならないこと。 ↩
-
Microsoft Learn, Upgrade Windows Server in Place. 完全なバックアップと復元の試験、クラスターでは使えないこと、ドメインコントローラーには使わないこと、アップグレード前に保存する診断情報。 ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, Get-WindowsFeature. ↩
-
Microsoft Learn, Windows Installer Properties for the Uninstall Registry Key. ↩
-
Microsoft Learn, Registry Redirector. 32bit のアプリ向けのキーが
Wow6432Nodeの下に置かれること。 ↩ -
Microsoft Learn, Windows Installer reconfigured all applications.
Win32_Productを照会するアプリやWMIフィルターが、起動やログオンの遅れとイベントID 1035の原因になること。 ↩ -
Microsoft Learn, Win32_Service class. ↩
-
Microsoft Learn, Get-ScheduledTask. ↩
-
Microsoft Learn, Determine which .NET Framework versions are installed.
Releaseの値と .NET Framework のバージョンの対応。 ↩ -
Microsoft Learn, Plan Your Windows Server Upgrade Path. インプレースアップグレードで残るもの、バージョンごとの経路、Windows Update で上げられるバージョン、アップグレードごとに新しいライセンスが要ること。 ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, Version Requirements for SQL Server in Windows Operating System. SQL Server のバージョンと Windows のバージョンの対応表。 ↩ ↩2
-
Microsoft Learn, SERVERPROPERTY (Transact-SQL). ↩
-
Microsoft Learn, sys.databases (Transact-SQL). ↩
-
Microsoft Learn, ALTER DATABASE Compatibility Level (Transact-SQL). バージョンごとの既定の互換性レベルと、復元したデータベースが元の互換性レベルを保つこと。 ↩ ↩2
-
Microsoft Learn, Supported Version and Edition Upgrades (SQL Server 2022). SQL Server 2022 へアップグレードできるバージョン。 ↩
-
Microsoft Learn, Query Store Usage Scenarios. 新しいバージョンへのアップグレードで性能を保つための手順。 ↩
-
Microsoft Learn, Hardware requirements for Windows Server. CPU に求められる命令と、Coreinfo での確認。 ↩ ↩2
関連する記事
同じタグを共有する最新の記事です。さらに近い話題で知識を深められます。
Windows 10サポート終了後の現実解 ── ESU・LTSC・買い替えの判断表
2025年10月のWindows 10サポート終了から9か月。社内に残るWindows 10 PCをどうするか、Windows 11移行・ESU・IoT Enterprise LTSC・ネットワーク隔離の4択を費用と期限つきの判断表で整理し、業務アプリ側で必要な検証も解説します。
保守契約が切れた業務アプリをどうするか ── 延命・改修・作り直しの判断表
業務アプリの保守契約が終わる会社向けに、契約終了前にベンダーから受け取るもの、OSやランタイムのサポート期限の調べ方、延命・改修・作り直しを選ぶ判断表と、それぞれの進め方をまとめます。
ファイルサーバーからSharePoint・OneDriveに移すときに困ること ── パスの長さ・使えない名前・Excelのリンク・マクロ・Access
ファイルサーバーをSharePointやOneDriveへ移すときに起きる問題を、パスの長さ、使えない名前、Excelのリンク、マクロのパス、Access、共同編集、アクセス許可の順に整理し、移行前の洗い出しと段階的な進め方をまとめます。
社内に開発者がいない会社の外注先の選び方 ── 見積もりと契約の前に確かめること
社内に開発者がいない会社が業務アプリの外注先を選ぶときに、提案・見積もり・契約で確かめる点をまとめます。要件定義の進め方、納入物と著作権、検収、再委託、預けるデータの扱い、保守を同じ質問で比べます。
Windowsアプリのダークモードとコントラストテーマ対応 ── DWMのダークタイトルバー、WinForms/WPFのシステムテーマ追従、ハイコントラスト時の描画
Windows 11のダークモードとコントラストテーマにWinForms/WPFアプリを追従させる方法を解説。DWMのダークタイトルバー、.NET 9/10のSetColorModeとThemeMode、テーマ切替の検知、ハイコントラスト時のシステムカラー描画を整理します。
関連トピック
このテーマと近いトピックページです。記事を起点に、関連するサービスや他の記事へ進めます。
Windows技術トピック
Windows 開発、不具合調査、既存資産活用の技術トピックをまとめた入口です。
このテーマがつながるサービス
この記事は次のサービスページにつながります。近い入口からご覧ください。
既存Windowsソフトの改修・保守
Windows Server 2016の上で動く業務アプリやSQL Serverを棚卸しし、新しいサーバーへ移す順番と試験の進め方を、実際の構成に合わせて一緒に整理できます。
技術相談・設計レビュー
インプレースアップグレード、新しいサーバーへの移行、ESUでの一時的な延命のどれを選ぶかは、役割・アプリ・SQL Serverの組み合わせで決まるので、技術相談・設計レビューとして扱いやすい題材です。
よくある質問
この記事のテーマについて、相談時によくある質問をまとめています。
- Windows Server 2016のサポートはいつ終わりますか?
- 延長サポートは2027年1月12日に終わります。Microsoftのライフサイクルのページでは、米国太平洋時間の2027年1月13日午前6時59分59秒が終了時刻として表示されています。終了後はセキュリティ更新、セキュリティ以外の更新、不具合の修正、技術サポートが提供されなくなります。
- Windows Server 2016にもESUはありますか?
- あります。Azure Arcに接続したサーバーで、最長3年間(2030年まで)、緊急・重要のセキュリティ更新を受け取れます。購入にはボリュームライセンスのソフトウェアアシュアランスなどが必要で、課金は2027年1月13日から始まります。新しい機能やセキュリティ以外の修正は含まれず、移行するまでの一時的な手段です。
- SQL Server 2016が入ったサーバーをWindows Server 2025にインプレースアップグレードしてよいですか?
- 勧めません。MicrosoftのSQL ServerとWindowsの対応表では、SQL Server 2016とSQL Server 2017はWindows Server 2025での動作がサポートされていません。SQL Server 2016は延長サポートもすでに2026年7月に終わっています。SQL Server 2022などに上げる計画と合わせて、新しいサーバーへ移す方法を検討します。
- インプレースアップグレードと新しいサーバーへの移行はどちらがよいですか?
- 役割とアプリで決めます。ドメインコントローラーは、Microsoftがインプレースアップグレードを使わずに新しいサーバーを昇格させるよう勧めています。SQL Server 2016やサポートの切れたアプリが同居しているサーバーも、新しいサーバーへ移すほうが組み合わせを選べます。単純なファイルサーバーなどで、使っているアプリのサポートが新しいOSで確認できるなら、バックアップと復元の確認をしたうえでインプレースアップグレードも候補になります。