SSMS(SQL Server Management Studio)をダークモードで使いたいのに、設定に見当たらない——。実はSSMS 19/20では“公式の標準ダークテーマ”が未整備で、よく見かける回避策にも副作用があります。本記事では、SSMS 21/22の公式テーマの現状、ssms.pkgundef改変の注意点、SQL Shadesなどの実用策、VS Code移行までを現実ベースで整理します。
結論:SSMSの「公式ダークモード」はSSMS 21以降が現実的な境目
「公式にダークモードを使えるか?」を“標準機能として用意され、メニューから普通に切り替えられ、メーカーが今後も改善する前提”と定義すると、答えは次のとおりです。
- SSMS 19/20(およびそれ以前):標準UIから“完全な”ダークモードは使えません。ダークテーマ自体はVisual Studio Shell由来で存在しますが、設定から選べない(または実質無効化されている)ため、pkgundef編集などの回避策が必要になります。
- SSMS 21/22:メニューからダークテーマを選択できるようになり、Microsoftも「まずは主要な画面から対応し、順次拡張する」方針を明記しています。ただし、現時点でも全ダイアログが完全に暗くなるわけではありません。
Microsoft LearnのFAQでも、ダークテーマは最初から全ウィンドウ対応ではなく、Object ExplorerやQuery Editorなど頻繁に使う領域から段階的に広げる方針が示されています。
まずは確認:あなたのSSMSは何世代?(SSMS 19/20なのか、21/22なのか)
回避策はSSMSの世代で大きく変わるため、最初にバージョンを把握します。
- SSMSを起動
- メニューのHelp(ヘルプ) → About(バージョン情報)を開く
- 19.x / 20.x / 21.x / 22.xのどれかを確認
| SSMS世代 | 標準UIでのダークテーマ | 暗くなる範囲の期待値 | おすすめ優先度 |
|---|---|---|---|
| SSMS 19 / 20 | 基本的に不可(回避策が必要) | pkgundef改変は“部分的”になりがち | 外部ツールOKならSQL Shades、難しければ配色調整 |
| SSMS 21 | 可(選択可能) | 主要画面は対応。ただし未対応ダイアログも残る | まず公式テーマ、足りなければ補助策を併用 |
| SSMS 22 | 可(テーマ拡張が進行) | SSMS 21より対応範囲が広がる傾向 | 最優先(新規/更新できるならここ) |
最優先の解決策:SSMS 21/22へ更新して“標準のダークテーマ”を使う
業務PCで「ファイル改変」や「外部ツール導入」が難しい場合でも、SSMS自体の更新なら通りやすいケースが多いです。SSMS 22はVisual Studio Installer経由で導入され、他バージョンとの共存インストールも可能とされています。既存のSSMS 19/20を残したまま、SSMS 22を試して戻す、という運用もしやすくなりました。
SSMS 21/22でダークテーマを有効化する手順
SSMS 21/22では、設定からテーマを切り替えられます(見つけにくい場合は、Options画面の検索に「theme」や「テーマ」を入れるのが早いです)。
- Tools(ツール) → Options(オプション)
- Environment(環境) → General(全般)
- Color theme / Visual Experience の項目で Dark(ダーク) を選択
- 必要に応じてSSMSを再起動
SSMS 22の既知の問題として、テーマ切り替え時に「Results to Text(結果をテキスト表示)」だと結果ペインが即時に新テーマへ切り替わらず、再起動が必要になるケースが案内されています。テーマ変更後に表示が中途半端に見える場合は、いったん再起動して判断するのが安全です。
「公式なのに全部暗くならない」問題は、現状“仕様(段階対応)”として割り切る
SSMSはVisual Studioベースで巨大なUIを抱えており、Microsoft自身も「今後、より多くのダイアログへ拡張する」旨をFAQで明言しています。つまり、SSMS 21/22のダークテーマは“完成形”ではなく、拡張中の段階実装という理解が現実的です。
| 起きがちなこと | 理由(ざっくり) | 実用的な対処 |
|---|---|---|
| 一部ダイアログだけ白い | 段階的に対応範囲を拡張中 | 頻出画面が暗ければOKと割り切る/足りなければ後述の補助策 |
| テーマ変更が即反映されない箇所がある | 描画更新やモードに依存 | 再起動して確認(特に結果ペインの表示モードに注意) |
| 古い回避策(pkgundef)が不要になる | 標準UIで切替可能になったため | 無理にファイル改変を続けない(保守性が下がる) |
準公式っぽい回避策:ssms.pkgundefを編集して“隠しDarkテーマ”を復活させる(SSMS 19/20向け)
SSMS 19/20で最もよく知られているのが、ssms.pkgundefという設定ファイルの編集で「Remove Dark theme」と書かれた無効化部分をコメントアウト(またはコメントを付与)して、テーマ選択肢にDarkを出す方法です。
ただし、ここが重要です。この方法は“ダークテーマを完全に仕上げる”ものではなく、SSMS全体が統一して暗くなるとは限りません。Object Explorerや結果グリッドなどが白いまま残る、右クリックメニュー等の配色が崩れる、といった報告も珍しくありません。現場で使うなら「戻せるように作業する」のが前提です。
編集前に必ず押さえる注意点
- バックアップ必須:ssms.pkgundefを別名でコピーしてから作業します。
- 管理者権限が必要:Program Files配下のため、テキストエディタは管理者として起動します。
- アップデートで戻る:SSMS更新でファイルが既定に戻り、再度編集が必要になることがあります。
- すべてが暗くなるわけではない:期待値を上げすぎるとガッカリします(「眩しさ軽減」には効くことが多い、くらいが現実的です)。
ssms.pkgundefの典型パス(例)
環境によってインストール先は変わりますが、SSMS 19/20では次のようなパス例が多いです。
| SSMS世代 | ssms.pkgundefの例 | 備考 |
|---|---|---|
| SSMS 19 | C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE\ssms.pkgundef | まずはここを探す |
| SSMS 20 | C:\Program Files (x86)\Microsoft SQL Server Management Studio 20\Common7\IDE\ssms.pkgundef | 19と同様にCommon7\IDE配下が多い |
見つからない場合は、エクスプローラーで「ssms.pkgundef」を検索するか、PowerShellで再帰検索すると早いです。
Get-ChildItem -Path "${env:ProgramFiles(x86)}\Microsoft SQL Server Management Studio*" -Recurse -Filter ssms.pkgundef -ErrorAction SilentlyContinue |
Select-Object -ExpandProperty FullName
手順(手動編集)
- SSMSをすべて終了
- メモ帳やNotepad++などを管理者として実行
- ssms.pkgundefを開く
- 検索(Ctrl+F)で Remove Dark theme を探す
- その直下付近にあるテーマ無効化の行をコメント扱いにする(行頭に
//を付ける) - 保存してSSMSを起動
- Tools → Options → Environment → GeneralでDarkが選べるか確認
よく紹介される編集イメージは次のような形です(実際のファイル内容は環境で多少異なることがあります)。
// Remove Dark theme
//[$RootKey$\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}]
戻し方(失敗した/見た目が崩れたとき)
- バックアップしておいたssms.pkgundefを元の名前に戻す
- または、該当行の
//を外して元に戻す - 最終手段として、SSMSの修復/再インストールで既定状態へ戻す
より実用寄り:外部ツール「SQL Shades」で“抜けている暗色化”を埋める
「pkgundef改変は部分的でつらい」「Object Explorerや結果グリッドが白いのが一番つらい」という人が現実的に選びやすいのが、SQL Shadesのようなテーマ拡張ツールです。SQL Shadesは、SSMSの標準テーマが暗くしきれない領域まで“できる範囲で”暗色化してくれる、という立ち位置です。
SQL Shadesの強み(現場目線)
- SSMSの標準ダークモードで暗くならない部分を補うのが主目的
- テーマ適用が比較的簡単(導入→再起動で反映、という流れになりやすい)
- SSMS 18〜22をサポートする旨が明記されており、更新も継続している
- 無料版でも利用できる旨が案内されている(社内ルールは別途確認)
注意点(導入判断で揉めやすいポイント)
- Microsoftの公式サポート対象ではない:SSMS側のFAQでも、第三者拡張は「ブロックはしないが公式にはサポートしない」旨が示されています。企業端末では、運用・セキュリティ規定に従って判断が必要です。
- 万能ではない:UIが複雑な箇所ほど、相性や未対応が残る可能性はあります(ただし、pkgundef改変より実用的という評価が多いのも事実です)。
- 更新の追随:SSMS側の更新(特にメジャー更新)で挙動が変わることがあるため、拡張側の対応状況も確認します。
SQL Shadesの導入の流れ(ざっくり)
- SQL Shadesをダウンロードしてインストール
- SSMSを再起動
- 必要ならTools → SQL Shades Settingsから微調整
- 合わなければアンインストールで戻す(まずは検証環境や個人PCで試すのが安全)
“ダーク化”ではなく眩しさ軽減:Fonts and Colorsで見やすさを作る(追加ツールなし)
社内PCで外部ツールが入れられない、SSMS更新もすぐには難しい——そんな現場では、配色調整で「眩しさを減らす」のが一番トラブルが少ない選択肢になりがちです。完全なダークテーマではないものの、目の負担を減らす効果は出しやすいです。
基本方針:白を“真っ白”のままにしない
- 背景を純白(#FFFFFF)から少し落とす(例:薄いグレー)
- 文字色を真っ黒(#000000)ではなく少し柔らかい濃いグレーにする
- キーワード色・コメント色は「コントラストが取れているか」を優先
手順(代表例)
- Tools → Options
- Environment → Fonts and Colors
- “Show settings for”でText Editor(またはSQL系)を選択
- “Display items”でPlain Text / Keyword / Commentなどを調整
設定項目名は環境で多少違いますが、考え方は共通です。例として「VS Codeのダークテーマに近い」読みやすさを狙うなら、次のような配色が出発点になります(好みで微調整してください)。
| 対象 | おすすめの方向性 | 狙い |
|---|---|---|
| エディタ背景 | 暗めのグレー(黒ベタは避ける) | 眩しさを抑えつつ、文字の視認性を確保 |
| 通常テキスト | 明るいグレー(白ベタは避ける) | コントラスト過多を避け、長時間作業で疲れにくく |
| コメント | 少し暗いグレー | 主役(SQL本文)より目立たせない |
| キーワード | 暖色寄りの色を弱めに | 識別しやすさを保ちつつチカチカを減らす |
この方法は「SSMS全体が暗くなる」わけではありませんが、追加ツール不要・運用リスクが低いため、制約の多い環境では最も現実的です。
別アプリに逃がす:VS Code+MSSQL拡張でクエリ作業をダークテーマに寄せる
「SSMSを無理やり暗くする」ことにこだわらず、クエリ中心の作業だけでも快適な環境へ逃がすのは強い選択肢です。特に近年は、MicrosoftがAzure Data Studioのサポート終了(2026年2月28日)を案内し、移行先としてVisual Studio Code+MSSQL拡張を推奨しています。今後の流れを踏まえると、クエリ中心の人ほどVS Codeへの寄せ方は価値が上がります。
VS Code運用が刺さりやすい人
- 主にSQLを書いて実行・結果を見るのが中心
- スニペット、フォーマッタ、Gitなど開発者向け機能を併用したい
- Windows以外(macOS/Linux)も含めた環境で作業したい
VS Code運用が刺さりにくい人(SSMSを残したほうが良い)
- SQL Server Agent、Profiler、GUIでの管理作業を日常的にやる
- SSMS固有のウィザードや管理機能が必須
導入のざっくり手順
- Visual Studio Codeをインストール
- 拡張機能で「SQL Server (mssql)」(MSSQL拡張)をインストール
- 接続プロファイルを作成してクエリ実行
- VS Code側は好みのダークテーマを適用(テーマはVS Codeの標準機能)
“管理はSSMS、クエリはVS Code”の住み分けは、導入ハードルが低く、失敗しにくい現実解です。
選び方の最短ルート:あなたの制約に合わせて決める
| 状況 | 最優先 | 次点 | 避けたい手段 |
|---|---|---|---|
| SSMSを更新できる | SSMS 22/21の標準ダークテーマ | 足りない部分だけSQL Shadesで補完 | pkgundef改変(保守性が低い) |
| SSMS 19/20固定・外部ツールOK | SQL Shades | 必要ならFonts and Colorsで微調整 | pkgundef単独(部分的で不満が残りやすい) |
| SSMS 19/20固定・外部ツールNG | Fonts and Colorsで眩しさ軽減 | どうしてもならpkgundef(自己責任・バックアップ前提) | 無理な全ダーク化(破綻しやすい) |
| クエリ中心でUIは最小限 | VS Code+MSSQL拡張 | 管理作業だけSSMS | SSMS全体の無理な改造 |
よくあるつまずきと解決ヒント
ダークテーマにしたのに、一部だけ白いまま
SSMS 21/22のダークテーマは段階的対応です。頻出領域(Object Explorer、Query Editor、Resultsなど)から拡張されており、未対応ダイアログが残るのは“現状の仕様”として受け止めるのが近道です。気になる箇所が業務上重要なら、SQL Shadesのような補完策か、Microsoftのフィードバック導線で要望を出すのが現実的です。
テーマを切り替えたのに結果ペインが切り替わらない
SSMS 22では、結果出力が「Results to Text」になっているとテーマ変更が反映されないことが既知の問題として案内されています。いったんSSMSを再起動するか、表示モードを見直してから確認すると判断が早いです。
pkgundef編集後にSSMS更新したら元に戻った
これは“あるある”です。更新で既定ファイルが復元されるため、改変は消えることがあります。頻繁に更新が入る環境では、pkgundef運用はだんだん辛くなります。可能ならSSMS 21/22へ移行するか、外部ツールが許されるならSQL Shadesへ寄せるほうがトータルで楽です。
参考リンク
- Release notes for SQL Server Management Studio (SSMS) 22(Microsoft Learn)
- Release notes for SQL Server Management Studio (SSMS) 21(Microsoft Learn)
- SQL Server Management Studio FAQ(ダークテーマの段階対応について)(Microsoft Learn)
- Install SQL Server Management Studio(共存インストール等)(Microsoft Learn)
- Known issues in SQL Server Management Studio(テーマ反映の注意点など)(Microsoft Learn)
- Configure SSMS Dark Mode Step By Step(mssqltips)
- How to enable dark mode in SSMS(rajanand.org)
- SQL Shades(公式サイト)
- Setting up the dark theme in SQL Server management studio(SQLShack)
- MSSQL extension for Visual Studio Code(GitHub)
- Azure Data Studio Release Notes(退役案内とVS Code推奨)(Microsoft Learn)

コメント