SQL Serverのアップデートやデータ移行。互換性に注意

ハードウェアやソフトウェアを安全・快適に利用するためには、常に最新の状態を維持する必要があります。

具体的な対応として、バージョンアップや新環境への移行が挙げられます。

データベース管理システムのMicrosoft SQL Server(通称SQL Server)も、長期間利用していると、新しいOSへの更新や、新しいサーバーへの移行が必要になることがあります。

その際、古い環境から新しい環境へデータを移行する作業を行います。

今回は、SQL Serverの更新およびデータ移行について、作業の流れや注意点を解説します。

SQL Serverがどのようなものかをおさらいしたい方は、まずこちらの記事をご覧ください。

SQL Server Management Studio
インストール方法を解説!

▼資料DLはこちら(無料)

SQL Serverのアップデートの種類

SQL Serverに限ったことではありませんが、ソフトウェアを長く利用していると、OSやアプリケーションのバージョンアップや、新しいハードウェアへの移行が必要となることがあります。

SQL Serverのアップデートや移行は、おおむね次の3パターンに分けられます。

    • 既存の環境のバージョンアップを行う
    • 新しい環境へ移行する(SQL Serverのバージョンアップを行う)
    • 新しい環境へ移行する(SQL Serverのバージョンアップは行わない)

SQL Serverのアップデートや移行を検討する際は、これらのどれを選択するのかを決定し、実行計画を立てるようにしましょう。

SQL Serverのアップデートやデータ移行の流れ

さて、実際にSQL Serverのアップデートや移行を行う場合は、どのようにすれば良いのでしょうか?

既存環境でのSQL Serverの更新でも、別環境への移行でも基本的には同じ流れで行います。

なお、既存環境の場合は単にバージョンアップ+インストールを行うこともできますが、ここではより安全性が高いとされるバックアップ+インポートの方法を解説します。

    1. 既存環境でのDBバックアップ(エクスポート)
    2. 新環境のSQL Serverの構築
    3. 新環境へのデータインポート

基本的に既存のSQL Serverを同一バージョンのまま新しい環境に移行させる場合は、このような流れで行います。

しかし、SQL Serverのバージョンアップを同時に行う場合は、互換性やその他の問題について注意が必要です。

互換性については次の第3章で、その他の問題については第5章で解説します。

SQL Serverのデータ移行と互換性

SQL Serverの移行の際にバージョンアップを並行して行う場合、もっとも注意すべき点は「互換性」です。

SQL Serverでは、バージョン間のデータ移行に制限があります。

たとえば、SQL Server 2019では、以下のバージョンからの移行のみサポートしています。

    • SQL Server 2012 (11.x) SP4 以降
    • SQL Server 2014 (12.x) SP2 以降
    • SQL Server 2016 (13.x) SP2 以降
    • SQL Server 2017 (14.x)

たとえば、これ以前のバージョンのSQL Serverから移行する場合は、別のサポートされているバージョンに移行させて、さらに最新のものに移行するといった2段階での移行作業が必要となります。

SQL Serverを新しい環境へ移す際にバージョンアップが伴う場合は、こうした互換性の問題を避けて通れないため、注意が必要です。

これは、現在パブリックプレビュー中のSQL Server 2022についても同様です。

SQL Server 2022への移行を検討する場合も、互換性に注意しましょう。

SQL Serverのクラウド環境への移行

インフラを新しくする際に、クラウドサービスとの併用や、完全にクラウドサービスに移行するケースも多くなっています。

SQL Serverをクラウドサービスに移行させる場合は、どのようにすれば良いのでしょうか。

SQL Serverのクラウド環境における種類

クラウド環境でのSQL Serverの利用形態は、大きく2つに分けられます。

    • 仮想マシン(仮想サーバー)としての利用
    • データベースサービスとしての利用

<仮想マシンとしての利用>

クラウド上の仮想サーバーにSQL Serverをインストールして使う方法

<データベースサービスとしての利用>

データベースサービスとして提供されているものを利用

SQL Serverを、これら2つの利用形態へ移行するにはどうすればよいのでしょうか。

SQL Serverの仮想マシンへの移行

1つ目の方法は、クラウドサービス上に仮想マシンを構築して、SQL Serverをインストールして利用する方法です。

たとえばAmazon Web Services(AWS)でのEC2インスタンスや、Google Cloud Platform (GCP)でのVMインスタンスなどを利用する方法がこれにあたります。

この方法では、仮想マシンを構築後の作業は、先に解説したオンプレミスと同じように進めることが可能です。

したがって、オンプレミス等での作業経験があれば、同様に作業を進められるでしょう。

具体的に仮想マシンで使う場合は、AWSを例に挙げると以下のような2つの方法があります。

    • Windows Serverインスタンスを自分で作成して、その後にSQL Serverを導入する
    • SQL Serverを導入済みのWindows Serverイメージファイル(AWSではマシンイメージ)を使う

SQL Serverを導入済みのイメージファイルを使うのは非常に手軽ですが、自分で導入するのに比べて利用料金が上がる、カスタマイズ性が落ちるなどのデメリットもあります。

目的に合わせて選択することが大切です。

SQL Serverのデータベースサービスへの移行

AWSなど大手クラウドでは、仮想マシンを利用する方法に加えて、データベースなどアプリケーション自体をサービス化したものが利用できるようになっています。

これを活用することで、SQL Serverのデータベースをそのまま使うことができます。

たとえば、以下のようなものがあります。

<AWS>

Amazon RDS for SQL Server

<GCP>

Cloud SQL for SQL Server

<Microsoft Azure>

Azure SQL Database

MicrosoftのクラウドサービスであるAzureで使えるのは、もはや当然とも言えますが、他の大手クラウドでもSQL Serverをそのままサービスとして利用できるようになっています。

この方法ではサーバー構築が不要なので、より手軽に利用することができます。

ちなみに、このような形態でSQL Serverを使う場合は、PCなどの端末から管理ツールであるSQL Server Management Studioを使用し、データベースの作成や、データのインポートを行うことができます。

SQL Server Management Studioのインストールについては、画像付きで解説した資料をご用意していますのでぜひご活用ください。

▼資料ダウンロードはこちら(無料)▼

SQL Serverのデータの転送について

クラウドサービスを活用してSQL Serverを使う際に、考慮するべき事項の一つが「データ転送」です。

オンプレミスであれば、直接媒体等で移すことができますが、クラウドの場合はインターネット回線で移す必要があります。

さらにはデータサイズが大きくなれば移行時の保存先も課題です。

たとえばAWSのAmazon S3のようなクラウドサービス上のストレージを使うのも一つの方法です。

このようにクラウドサービスを使う場合は、データの転送や保存について検討すべき課題があることを理解しておきましょう。

クラウドサービスを利用する場合は、下記の記事を参考に、料金体系への理解を深めておくと良いでしょう。

SQL Serverのデータ移行で他に注意すべき点は?

バージョンアップを伴うSQL Serverの移行、とくに互換性の問題がある場合にいくつか注意すべき点があります。

    • SQL Serverと他のソフトウェアとの互換性を確認する

SQL Serverを更新することで、使えなくなるソフトウェアが出てくるケースがあります。

    • SQL Serverを利用したプログラムやソフトウェアを開発している場合、コードの修正がないか確認する

自社等で開発したコードが動かなくなる、あるいは動作させるためにコードを修正する必要があるケースがあります。

    • SQL Serverの最新機能を利用するためには、互換性レベルを上げる必要がある

→そのまま移行すると互換性レベルが最も低くなり、最新のSQL Serverが持っているすべての機能が使える状態にはなりません。

最新機能を含むすべての機能を使うためには、統合管理ツールのSQL Server Management Studioを使うかSQL言語のTransact-SQLを使って、互換性レベルを手動で変更することが必要です。

ちなみに最新版の互換性レベルは150、2017では140となっています。

まとめ

古い環境から新しい環境への移行や、ソフトウェアのバージョンアップはITシステムでは定期的に発生し、避けて通ることが出来ないものです。

今回解説したSQL Serverでも古いサーバーから新しいサーバーへ移すケースや、同一のサーバー内でバージョンアップを行うケースなどいろいろな移行のケースがあります。

また、紹介したようにクラウドへ移行するという選択肢を取る場合もあるでしょう。

そういった中で、大きな問題はバージョンアップを行う場合に、データ移行が可能なバージョンが決まっているという「互換性」の問題です。

互換性には、データ移行の問題、機能レベルの問題、また周辺のソフトウェアとの互換性やコードの互換性などいろいろな注意すべき点があります。

そうしたことを考えても、バージョンアップは計画的かつ余裕を持って行うことが重要となります。

また、クラウドサービスを活用する場合は、データをどのようにして転送するのかといった課題もあります。

移行を行う際には、実施計画、注意点の洗い出しと解決策の確認などを含めて計画的に行いましょう。

SSMSインストールマニュアル

SSMSインストールマニュアル

SQL Server Management Studio(SSMS)は、SQL Serverを管理・設定できるデータベース管理ツールです。
SSMSのインストール手順を解説します。

SSMSインストールマニュアル

SSMSインストールマニュアル

SQL Server Management Studio(SSMS)は、SQL Serverを管理・設定できるデータベース管理ツールです。
SSMSのインストール手順を解説します。

資料をダウンロードする

NVIDIA製GPU搭載
高性能・高火力の専用サーバー!
「Tesla V100」「RTX-5000」「RTX-4000」

▶ プランを見る

関連記事

サーバーの基礎知識

TOP
CLOSE