ハードウェアやソフトウェアを安全・快適に利用するためには、常に最新の状態を維持する必要があります。
具体的な対応として、バージョンアップや新環境への移行が挙げられます。
データベース管理システムのMicrosoft SQL Server(通称SQL Server)も、長期間利用していると、新しいOSへの更新や、新しいサーバーへの移行が必要になることがあります。
その際、古い環境から新しい環境へデータを移行する作業を行います。
今回は、SQL Serverの更新およびデータ移行について、作業の流れや注意点を解説します。
SQL Serverがどのようなものかをおさらいしたい方は、まずこちらの記事をご覧ください。
2020.02.06
Microsoft SQL Serverとは。他DBとの違いを解説
SQL Serverは、Microsoftが開発、リリースしているデータベース製品です。Windows OSとの相性が良いため、Wi...
SQL Server Management Studioの
インストール方法を解説!
目次
SQL Serverのアップデートの種類
SQL Serverに限ったことではありませんが、ソフトウェアを長く利用していると、OSやアプリケーションのバージョンアップや、新しいハードウェアへの移行が必要となることがあります。
SQL Serverのアップデートや移行は、おおむね次の3パターンに分けられます。
- 既存の環境のバージョンアップを行う
- 新しい環境へ移行する(SQL Serverのバージョンアップを行う)
- 新しい環境へ移行する(SQL Serverのバージョンアップは行わない)
SQL Serverのアップデートや移行を検討する際は、これらのどれを選択するのかを決定し、実行計画を立てるようにしましょう。
2020.02.06
Microsoft SQL Serverとは。他DBとの違いを解説
SQL Serverは、Microsoftが開発、リリースしているデータベース製品です。Windows OSとの相性が良いため、Wi...
SQL Serverのアップデートやデータ移行の流れ
さて、実際にSQL Serverのアップデートや移行を行う場合は、どのようにすれば良いのでしょうか?
既存環境でのSQL Serverの更新でも、別環境への移行でも基本的には同じ流れで行います。
なお、既存環境の場合は単にバージョンアップ+インストールを行うこともできますが、ここではより安全性が高いとされるバックアップ+インポートの方法を解説します。
- 既存環境でのDBバックアップ(エクスポート)
- 新環境のSQL Serverの構築
- 新環境へのデータインポート
基本的に既存の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
2021.05.13
VPSとAWS(クラウドサービス)の違い。目的にあわせた上手な活用方法とは。
仮想技術を用いたサーバーサービス『VPS(Virtual Private Server)』と、AWS(Amazon Web Service)...
<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のようなクラウドサービス上のストレージを使うのも一つの方法です。
このようにクラウドサービスを使う場合は、データの転送や保存について検討すべき課題があることを理解しておきましょう。
クラウドサービスを利用する場合は、下記の記事を参考に、料金体系への理解を深めておくと良いでしょう。
2022.04.28
クラウドサービスの料金体系とは?安くする方法を解説
クラウドサービスは、今や企業だけでなく個人も含めて、さまざまなところで使われています。みなさんの中にも利用を考えている方、考えたこと...
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でも古いサーバーから新しいサーバーへ移すケースや、同一のサーバー内でバージョンアップを行うケースなどいろいろな移行のケースがあります。
また、紹介したようにクラウドへ移行するという選択肢を取る場合もあるでしょう。
そういった中で、大きな問題はバージョンアップを行う場合に、データ移行が可能なバージョンが決まっているという「互換性」の問題です。
互換性には、データ移行の問題、機能レベルの問題、また周辺のソフトウェアとの互換性やコードの互換性などいろいろな注意すべき点があります。
そうしたことを考えても、バージョンアップは計画的かつ余裕を持って行うことが重要となります。
また、クラウドサービスを活用する場合は、データをどのようにして転送するのかといった課題もあります。
移行を行う際には、実施計画、注意点の洗い出しと解決策の確認などを含めて計画的に行いましょう。
2022.06.09
NoSQLとは。データベースの特徴と、RDBMSとの違いを解説
データベースで現在主流となっているのは、OracleやMySQLなどに代表されるRDBMS(リレーショナル・データベース管理システム)です。...
SSMSインストールマニュアル
SQL Server Management Studio(SSMS)は、SQL Serverを管理・設定できるデータベース管理ツールです。
SSMSのインストール手順を解説します。
SSMSインストールマニュアル
SQL Server Management Studio(SSMS)は、SQL Serverを管理・設定できるデータベース管理ツールです。
SSMSのインストール手順を解説します。