SQL Server 2019の最新情報|マイグレーションの手順も解説

SQL Server 2019の最新情報|マイグレーションの手順も解説のアイキャッチイメージ

SQL Server 2019の概要


Microsoft SQL Serverは、データベース管理システムの一種で、サーバーにデータを格納してサービスを提供する際に用いられます。2~3年に一度くらいのペースで新バージョンがリリースされてますが、SQL Server 2019は昨年11月にリリースされた最新バージョンです。データベース管理システムは他にもいくつかありますが、Microsoft SQL Serverは操作方法が比較的簡単なのが特長です。

SQL Server 2019もその流れを汲んでいるため、操作性を重視して作られています。また、同じマイクロソフトの製品ということでWindowsとの相性が良く、企業などで幅広く使用されています。

【最新情報】SQL Server 2019の主な変更点4つ


SQL Server 2019は、従来バージョンの基本機能に対して機能が変更されました。

具体的には、「Windows版以外での提供」や「Adaptive Query Processing機能の強化」、「バッチモードでのクエリ性能向上」、「Always Encryptedも利用継続」などの機能が変更されました。

ここでは、SQL Server 2019の変更点を詳しく紹介しましょう。

Windows版以外も提供

SQL Server 2019でも、Linux OS上で動作する機能とサービスを提供されます。

実際には、SQL Server 2017からLinux OS上でも動作可能ですが、レプリケーションや分散トランザクションなど制限がありました。しかし、SQL Server 2019では、この問題も改善され、特に制限なく利用できるようになり汎用性も向上しました。

Adaptive Query Processingが強化

Adaptive Query Processingは、SQL Server 2017から追加されていましたが、SQL Server 2019になり互換性がさらに強化されました。

データベースに対して、適応が可能な互換性レベルを有効にし自動的にインテリジェントなクエリ処理の対象にすることが可能となります。また、接続できるエッジの種類などを制御し、セキュリティ強化も実施しています。

バッチモードでもクエリ性能が向上

SQL Server 2019では、複数の行をまとめて処理できるようになりクエリ性能が向上しました。

SQL Server 2019の列ストアインデックスクエリは、従来の行ストアインデックスクエリに比べて、パフォーマンスが4倍程度向上すると言われており、ユーザークエリの応答時間も短縮可能となっています。

Always Encryptedが利用可能

SQL Server 2019では、Always Encryptedの利用により、マルウェアや未承認ユーザーからのデータ保護が可能となります。

Always Encryptedは、SQL Server 2016から導入されている機能で、データの機密性を保ちながら、暗号化キーで安全なアクセスを実現するものです。この機能は、SQL Server 2019でも利用可能となっています。

SQL Server 2019へマイグレーションするメリット3つ


SQL Server 2019へマイグレーションするメリットは、古いOSやデータベースを使うよりも、最新バージョンへ移行することにより、セキュリティや機能面での向上となります。

主なメリットは、「最新テクノロジーが利用可能」や「セキュリティ性が高い」、「Azureハイブリッド特典の利用でコスト削減が可能」などとなります。

ここでは、マイグレーションするメリットを詳しく紹介しましょう。

1:最新テクノロジーが利用できる

SQL Server 2019へマイグレーションを実施し、新バージョンになるとメーカーの最新サポートを常に受けることが可能になります。

最新版にすると、問題や故障が発生した場合にメーカーの専門エンジニアによるサポートを受けることが可能となります。また、製品に関わる問題発生情報もリアルタイムに入手でき、問題解決用のモジュールなどの提供もできます。

2:セキュリティが高い

SQL Server 2019は、脆弱性などセキュリティ面の対策を常時実施しているので、セキュリティが高く保たれています。

それぞれの製品は、提供メーカーより絶えずセキュリティ対策が施されており、このような製品を使うことで安心、安全な利用が可能です。マイグレーションの実施と同時に、サーバーOSやデータベースも最新化を実施することで安心して利用できるようにしておきましょう。

3:Azureハイブリッド特典で節約できる

既存のWindows ServerやSQL Serveライセンスが利用できるAzuruハイブリッド特典により、コスト削減が可能となります。

Azure ハイブリッド特典とは、Windows ServerとSQL Serverのオンプレミス ライセンスをAzureに切替えることにより、従来の従量課金料金より大幅に削減が可能となるものです。

データベースマイグレーションの4ステップ


SQL Server 2019にマイグレーションする場合は、事前のアセスメントや移行ツールの検討などを実施する必要があります。

予想される問題点の把握から始まり、データ移行ツールの決定や新環境での設定などが主な作業となります。

ここでは、マイグレーションする場合の4つのステップを詳しく紹介しましょう。

1:発生が予想される問題点を確認

SQL Server 2019への移行で、最初に実施することは、移行作業により発生する問題点を把握しておくことです。

移行作業の影響で、どのような作業が必要となるかや計画を立てることが重要となるでしょう。具体的には、「互換性の必要とされる部分への影響」や「バージョンが上がることによる機能が変る影響」があります。

2:データベースを移行

SQL Serve 2019への移行は、移行環境の検討から始めましょう。

移行環境の検討は、「移行方法の決定」、「切替時の作業把握」、「他の接続先の検討」などです。

ここでは、SQL Serve 2019への移行内容をそれぞれ紹介しましょう。

インプレースアップグレードはサポートされている

SQL Serverでは、インプレースアップグレードのサポートがあるため、同じ環境でアップグレードが可能となります。

同じ環境での移行であるインプレースアップグレードでは、システムデータベースも同時に移行が可能となり便利でしょう。

別の環境に移行する時

マイグレーション先としては、データセンター内に新たに構築したSQL Serverだけでなく、クラウドなど別の環境への移行も検討することも必要でしょう。

また、以前のSQL Serverではクラウドは対応不可となっていましたが、最新ではクラウド機能が利用可能になっています。移行のタイミングで、常に最新の情報を収集しておきましょう。

3:データベースの切替

新しいSQL Server 2019環境へマイグレーションが完了すると、データベースの切替を実施します。

データベースの切替方法は、オフライン移行とオンライン移行があり、それぞれの条件に合う方法を選んで実行しましょう。

ここでは、2つの移行方法を詳しく紹介しましょう。

オフライン

オフライン切替方法は、作業実施中にデータベースサーバーを停止して実施する方法です。

具体的な作業は、移行元のデータベースを書込み禁止状態に設定して、バックアップを取得します。次に、移行先にバックアップデータをコピーした後、バックアップデータベースをリストアして切替作業は完了です。

移行作業中は、データベースサーバーが停止していますので、ユーザーはアクセスできません。停止時間は、移行するデータベースのデータ量により異なります。また、作業方法が単純なので容易に移行が可能でしょう。

オンライン

オンライン切替方法は、データベースサーバーの停止時間を短くできる方法です。

新環境を構築後、移行元と移行先のデータベースの同期を継続的に実施しておいて、切替時だけサーバーを停止し、少ないデータのみ同期により移行します。

これにより、最小限のデータだけの移行となりデータベースサーバーの停止時間を短くすることが可能となります。また、この方法は手動によるデータコピーは使わずデータ同期機能を利用しますので、事前に移行元で同期機能を有効にしておく必要があります。

4:新環境での新機能を有効化

データベース切替作業が終わると、データベースに接続する様々なシステムの参照先を新SQL Server 2019へ変更を実施します。

データベースの切替が終了後は、データベースに接続する様々なシステムの参照先を変更しなければなりませんので、忘れずに変更しましょう。

具体的には、各システムで旧SQL Serverのホスト名を新SQL Server 2019のホスト名に変更し接続できるようにする必要があります。ただし、ホスト名が変更にならない場合は子の作業は必要ありませんが、別のホスト名で構築するのが一般的です。

このように、接続するすべてのシステムにおいて変更の作業が発生します。システムの数が多い場合などは事前に変更対象システムを調査しておくことが大切です。システムによっては、プログラムやアプリケーションレベルでホスト名を意識している箇所もあります。

この作業を怠ると、切替後に各システムより接続ができず大きな影響が発生しますので、十分注意して対処することが大切です。

SQL Server 2019へマイグレーションに便利なツール5つ


SQL Server以外のデータベースからSQL Server 2019データベースへのマイグレーション(移行)に便利なツールを紹介しましょう。

ここでは、OracleやMySQLなどから、SQL Databaseへ移行を実施する場合に便利なツールを5つ紹介しましょう。

1:Data Migration Assistant

Data Migration Assistantは、移行先のSQL Server 2019データベースとの互換性の問題を検出するツールとなります。

これにより、スキーマやデータを元のサーバーから、移行先サーバーへ移動が可能となります。

2:SQL Server Migration Assistant

SQL Server Migration Assistantは、AccessやDB2、MySQL、OracelなどのデータベースシステムからSQL Server 2019へデータベース移行を自動化するツールとなります。

3:Azure Database Migration Service

Azure Database Migration Serviceは、データベース移行の簡素化や自動化を実施するツールです。

このツールの実施により、データやスキーマなどのソースを、クラウド側に容易に移行可能となります。

4:Attunity Replicate for Microsoft Migrations

Attunity Replicate for Microsoft Migrationsは、エンドツーエンドのデータ統合やアナリティクスソリューションでデータ変換します。

このツールの実行により、データやインサイト間のデータギャップの解消が可能です。

5:Database Experimentation Assistant

Database Experimentation Assistantは、SQL Serverアップグレードの評価ツールです。

以前のSQL Server からSQL Server 2019へアップグレード時は、このツールに同胞の分析メトリックを利用して評価が実施できます。

SQL Server 2019の最新情報を理解しよう


SQL Server 2019ではビッグデータソリューションが実装されたことで、データの前処理が不要になりました。
利便性が向上し、これまでよりも迅速なデータ処理が可能になったことから、業務効率化が期待できます。
操作方法もデータベース管理システムの中では簡単な方なので、ぜひ扱えるようにしておきましょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。

合わせて読みたい

【サーバエンジニアの基礎知識】サーバの種類とハードウェア要件... サーバエンジニアは、他のエンジニア以上にサーバについて精通していなければいけません。 ここでは、サーバエンジニアであれば知っておきたいサーバに関する基礎知識をまとめました。 サーバエンジニアを目指しているという方は、ぜひ参考にしてください。 サーバを構成する主な部品 サーバを構成する主な部品...
サーバーエンジニアが職場で使うLinuxの紹介3【CentOS】... サーバーエンジニアがよく使うLinuxディストリビューションのひとつが「CentOS」です。 CentOSはLinuxの中でも使う機会が多く、実際に使ったことがあるエンジニアも多いのではないでしょうか。 この記事ではCentOS特徴や世界でのシェアについて紹介します。 無償の長期サポートが...
RHELはどんなLinux?特徴や無償で使えるプログラムも紹介... RHELとはどんなLinux? RHELとは「Red Hat Enterprise Linux」という、Red Hatが提供している企業に向けたLinuxディストリビューションです。 無償提供されているものも多いLinuxディストリビューションの中では珍しく有料のサービスとなっていますが、そ...
サーバーエンジニアに必要なヒューマンスキル5選|エンジニア全般に必要なスキル... サーバーエンジニアに必要なスキルとは? サーバーエンジニアはサーバーの設計や構築、保守運用などを専門に行うエンジニアです。 サーバーエンジニアを目指している方の中には、どのようなスキルが必要とされるのか知りたいという方も多いのではないでしょうか。 本記事ではサーバーエンジニアに必要なスキル...
サーバーエンジニアが職場で使うLinuxディストリビューションの紹介1【Ubuntu】... Ubuntu(ウブントゥ)は、Linuxディストリビューションの中でも代表的なOS(オペレーティングシステム)の1つです。 サーバー用途でもデスクトップ用途でも幅広く使用されており、サーバーエンジニアになればUbuntuを扱う機会は増えるでしょう。 ここではUbuntuについて解説していきます。...