SQL Server 2016を使った経験があっても、SQL Server 2022を学ぼうとすると、何から手をつければよいのか迷う。
新しい参考書を最初から読むべきなのか。それとも、実際にインストールしてSQLを書いた方がよいのか。
特に、VB6やVBAなどからSQL Serverに接続してきた人にとって、データベースそのものの知識はあっても、新しいバージョンの機能までは把握していない場合がある。
今回は、SQL Server 2016の経験を生かしながら、SQL Server 2022へ学び直すための順番を整理した。
目標は、新機能をすべて暗記することではない。既存システムの保守・改修で必要な知識を確認し、SQL Server 2022の環境でも自信を持って作業できるようになることだ。
※本記事は学習計画の提案であり、筆者がSQL Server 2022への移行作業を完了したという体験談ではありません。
1.最初からSQLを勉強し直す必要はある?
SQL Server 2016を実務で使用していたなら、SELECT、INSERT、UPDATE、DELETEなどの基本構文を最初から覚え直す必要はないだろう。
JOINやGROUP BY、サブクエリ、ストアドプロシージャについても、以前の知識を生かせる。
ただし、長期間使っていなかった機能や、当時ほとんど触れなかった機能は別だ。
例えば、実務では既存のSQLを修正することが中心で、インデックス設計や実行計画の確認までは担当していなかったという人もいる。
その場合、SQL Server 2022の新機能へ進む前に、基本的なSQLと性能調査を復習した方が効率的だ。
まずは自分ができることと、理解が曖昧なことを分けてみたい。
2.最初の一歩はSQL Server 2022の学習環境を作ること
参考書を読み始める前に、SQL Server 2022を実際に操作できる環境を用意したい。
個人学習なら、無償のDeveloperエディションが候補になる。Developerエディションは開発・テスト用途向けであり、本番環境には使用できない。
あわせて、SQL Server Management Studio(SSMS)をインストールする。
SSMSはSQL Serverの管理やクエリ実行に使用するツールで、データベースエンジンとは別に導入する。
環境ができたら、最初に簡単なデータベースとテーブルを作成し、データの登録・検索・更新・削除を試してみよう。
本番データや勤務先のデータを個人PCへ持ち出さず、架空の顧客情報や商品データを使うことも重要だ。
3.2016と2022の違いは、互換性レベルから理解する
SQL Server 2016から2022への学び直しで、特に押さえたいのがデータベースの互換性レベルだ。
SQL Server 2016の互換性レベルは130、SQL Server 2022は160に対応している。
重要なのは、SQL Server 2022へ移行しても、既存データベースの互換性レベルが自動的に160へ変更されるとは限らないことだ。
Microsoft Learn
+1
まずは次のSQLで現在の設定を確認してみよう。
SELECT name, compatibility_level
FROM sys.databases;
学習環境では、同じSQLを互換性レベル130と160で実行し、実行計画や処理時間を比較すると理解が深まる。
ただし、実務環境で互換性レベルを変更する場合は、アプリケーションへの影響を十分に検証する必要がある。
4.優先して覚えたい新機能はQuery Store
SQL Server 2022の新機能をすべて覚えようとすると、学習範囲が広くなりすぎる。
最初に注目したいのは、Query Storeだ。
Query StoreはSQLの実行履歴や実行計画、性能に関する情報を保存し、処理が遅くなった原因を調査する際に役立つ。
SQL Server 2016にも存在する機能だが、2022では機能が強化され、新規データベースでは既定で有効になっている。
Microsoft Learn
さらに、SQL Server 2022では、パラメーターの値によって適切な実行計画を使い分けるParameter Sensitive Plan Optimizationも導入された。利用には互換性レベル160などの条件がある。
Microsoft Learn
最初は仕組みを暗記するよりも、同じSQLを何度か実行し、Query Storeで情報を確認する練習から始めたい。
5.VB6・VBA経験者は接続確認も練習する
SQL Serverを単独で操作するだけでなく、VB6やVBAから接続する練習も実務につながる。
例えば、架空の売上管理データベースを作り、顧客情報を検索する簡単なプログラムを考えてみる。
SQL Server 2016で動作していた接続処理が、2022でもそのまま使えるとは限らない。
ドライバーの種類、暗号化設定、認証方法などを確認する必要がある。
特に古いシステムでは、接続文字列を変更するだけで解決する場合もあれば、使用しているドライバー自体を見直さなければならない場合もある。
学習環境では、まずSSMSから接続し、次にアプリケーションから接続する順番が分かりやすい。
6.バックアップと復元は必ず練習する
保守・改修の仕事を考えるなら、バックアップと復元の知識も欠かせない。
テーブルを作成してSQLを実行できても、障害発生時にデータベースを復元できなければ、担当できる作業は限られてしまう。
学習用データベースを作成したら、フルバックアップを取得し、別名のデータベースとして復元してみよう。
その後、復元したデータベースに正しく接続できるか、テーブルやデータが存在するかを確認する。
SQL Server 2016から2022への移行を想定するなら、バックアップからの復元後に互換性レベルやアプリケーションの動作を確認する練習も役立つ。
なお、新しいバージョンで更新されたデータベースを古いSQL Serverへそのまま戻すことはできないため、移行前のバックアップを適切に保管する必要がある。
Microsoft Learn
7.30日間の学習計画を作る
SQL Server 2022・30日間の学習プラン
| 期間 | 学習内容 | 到達目標 |
|---|---|---|
| 1〜7日目 | インストール、SSMS、基本SQLの復習 | 学習用DBを操作できる |
| 8〜14日目 | JOIN、ストアド、インデックス、実行計画 | 既存SQLの性能を確認できる |
| 15〜21日目 | 互換性レベル、Query Store、新機能 | 2016と2022の違いを説明できる |
| 22〜30日目 | VB6・VBA接続、バックアップ、復元 | 小規模な移行検証ができる |
1日30〜60分程度を想定した学習計画。必要な時間は経験や環境によって異なります。
毎日長時間勉強するよりも、小さな目標を設定して継続する方が取り組みやすい。
例えば、今日はSQL Server 2022をインストールするだけ、明日はテーブルを一つ作るだけでもよい。
週末に、その週に覚えた内容を自分の言葉でまとめれば、知識の定着にもつながる。
8.SQL Server 2016のサポート終了も意識したい
SQL Server 2016は、2026年7月14日に延長サポートが終了した。対象エディションや条件によっては、有償の延長セキュリティ更新プログラムを利用できる。
Microsoft Learn
そのため、古いSQL Serverを使用している企業では、今後の移行やシステム更新を検討する場面がある。
ただし、移行作業は新しいSQL Serverをインストールするだけでは終わらない。
既存SQLの動作確認、アプリケーションとの接続、性能比較、バックアップなど、幅広い知識が必要になる。
SQL Server 2016の実務経験がある人なら、これまで担当してきた保守・改修の作業を2022の学習環境で再現してみることが、効果的な復習になるだろう。
まとめ|まずは環境構築と互換性レベルの確認から
SQL Server 2016から2022への学び直しでは、すべての新機能を最初から覚える必要はない。
まずはDeveloperエディションとSSMSを用意し、基本SQLを復習する。その後、互換性レベル、実行計画、Query Store、バックアップと復元へ進むと、実務につながる知識を段階的に身につけられる。
VB6やVBAの経験があるなら、アプリケーションからの接続確認まで行いたい。
最初の目標は、SQL Server 2022で小さなデータベースを作り、既存システムの保守作業を再現できるようになること。
一度にすべてを理解しようとせず、30日間で一つずつ確認していく学習方法なら、これまでのIT経験を生かしながら、新しいバージョンへ知識を更新していける。
参考:
Microsoft Learn|SQL Server 2022の新機能
、
Microsoft Learn|互換性レベルとQuery Store


コメント