自由気ままに書いちゃおう

好きなことをつらつらと・・・

Azure SQLデータベース、SQLServer、SQL仮想マシン、SQLマネージドインスタンスの違いについて

今回は、意味を知らないとどれを選べばよいかわからない、
「SQLデータベース」
「SQL Server」
「SQL仮想マシン」
「SQLマネージドインスタンス」
についてです。

なんでこんなにわかりにくい名称つけたんだってぐらい、わかりにくいです。笑
しかも、SQLServerに馴染みがないと、使い分けがよくわからない。。。
AWSのRDSの方がよっぽどわかりやすい。。

少し愚痴を挟みましたが、
Azureポータルで「SQL」と記載すると下記のように表示されますが、
それぞれが何を意味しているかを記載致します。

f:id:guri2o1667:20200527100752p:plain

■すごいざっくりとした説明

・「SQL Server」「SQLデータベース」はセットで考えた方がわかりやすいです。
 いわゆる、PaaSです。

・「SQL マネージドインスタンス」は、オンプレミスから移行したいときに使うぐらいの理解で。

・「SQL仮想マシン」は、自前SQLServerって感じ。仮想マシンとSQL仮想マシンが生成されますが、仮想マシンは通常のものと変わらないし、SQL仮想マシンは"どんなSQLServerを利用しているか、状態はどうなのか"を視覚的に確認するだけに使用します。

■SQLデータベースについて

ドキュメント | Microsoft Docs

Azure SQL Database サービスとは | Microsoft Docs

サポート終了のオプション - SQL Server | Microsoft Docs


フルマネージドのデータベースサービスです。
後で似たような文言も出てきますので、
・「サービス」であること
・「データベース」そのものであること
を覚えておいてください。

尚、SQLデータベースは
"安定した最新バージョンの SQL Server データベース エンジンとパッチ適用済み OS 上で常に実行され、99.99% の可用性があります。"
と定義されており、
WindowsServerのバージョンやSQLServerのバージョンを任意に選択することができません。
「バージョンレス」という考え方です。そのため、サポート期限云々はありません。


【新規作成時の画面】

f:id:guri2o1667:20200527100946p:plain


※新しいサーバをこの時点で作成することもできます。
 新しいサーバを作成した場合、「SQL Server」というものが作成されます。

f:id:guri2o1667:20200527103556p:plain
f:id:guri2o1667:20200527102435p:plain

f:id:guri2o1667:20200527102607p:plain

【作成後の画面】


作成後のリソースグループの画面は以下の通りです。
「SQLデータベース」と「SQL Server」が作成されています。

f:id:guri2o1667:20200527104340p:plain

testvm01には、db01というデータベースが紐づいています。

f:id:guri2o1667:20200527104952p:plain


db01のプロパティは以下のようになっています。

f:id:guri2o1667:20200527105038p:plain

 

■SQLServerについて

サーバー | Microsoft Docs


ここで作成されるものは、SQLデータベースで作成されたSQLServerと同じものです。
ただし、データベースは紐づいていない状態で作成されます。
OS指定はできず、OSにログイン(RDP/SSH等)はできません
つまり、論理サーバの位置づけです。

"データベースは別途用意する"ときに利用することが想定されます。

【新規作成時の画面】

f:id:guri2o1667:20200527105634p:plain

f:id:guri2o1667:20200527105719p:plain

f:id:guri2o1667:20200527105735p:plain

 

【作成後の画面】

作成後のリソースグループの画面は以下の通りです。

f:id:guri2o1667:20200527110143p:plain

SQLデータベースと違うのは、データベース自体は作成していないため、
下記のようになります。

f:id:guri2o1667:20200527110231p:plain

 

■SQLマネージドインスタンス


順番が前後しますが、先にSQLマネージドインスタンスを説明します。

SQL マネージド インスタンスの概要 | Microsoft Docs


上記のSQLServerやSQLデータベースよりも新しい機能のようです。
SQLマネージドインスタンスでは、
オンライン操作、計画の自動修正、その他のエンタープライズ パフォーマンス拡張機能など、最新バージョンの SQL Server のすべての機能が実行されます。
オンプレミス環境からの移行時(100%近い互換性を備えている)に利用するようです。

【作成時の画面】

f:id:guri2o1667:20200527112840p:plain



※下記は、「コンピューティングとストレージ」の構成画面です。

f:id:guri2o1667:20200527112548p:plain

 

f:id:guri2o1667:20200527113007p:plain

 

f:id:guri2o1667:20200527113040p:plain




■SQL仮想マシン

適切なデプロイ オプションを選択する | Microsoft Docs


作成しようとすると以下のデプロイオプションを選択する画面が表示されます。
f:id:guri2o1667:20200527113257p:plain

【SQLデータベースを選択した場合】


「単一データベース」を選んで場合、「SQLデータベース」が作成されます。

f:id:guri2o1667:20200527113832p:plain

【SQLマネージドインスタンスを選択した場合】


「単一インスタンス」を選んだ場合、「SQLマネージドインスタンス」が作成されます。※選択肢が「単一インスタンス」しかありませんでした。。。

f:id:guri2o1667:20200527114047p:plain

【SQL仮想マシンを選択した場合】

f:id:guri2o1667:20200527114133p:plain


イメージのプルダウンメニューからは下記の通り、SQLServerとOSの組み合わせを選ぶことができます。

f:id:guri2o1667:20200527114211p:plain

 

f:id:guri2o1667:20200527114537p:plain

f:id:guri2o1667:20200527114557p:plain

f:id:guri2o1667:20200527114625p:plain

f:id:guri2o1667:20200527114658p:plain

 

f:id:guri2o1667:20200527114715p:plain

f:id:guri2o1667:20200527114735p:plain

f:id:guri2o1667:20200527114831p:plain

※ストレージの構成画面です。

f:id:guri2o1667:20200527114924p:plain

f:id:guri2o1667:20200527114942p:plain

※作成中の画面です。よくみると、virtualMachinesとSqlVirtualMachinesを作成しようとしていることがわかります。

f:id:guri2o1667:20200527124717p:plain

【作成後の画面】


「SQL仮想マシン」と「仮想マシン」が作成されています。
「仮想マシン」のOSは作成時に選択したイメージのもので生成され、OSへのログインももちろん可能です。
※私の場合は、Windows Server 2019 Datacenter

「SQL仮想マシン」は論理サーバの位置づけです。そのため、当該サーバへのログインはできません

f:id:guri2o1667:20200527124921p:plain


以上です。