開発元 | マイクロソフト |
---|---|
初版 | 1989年4月24日 (SQL Server 1.0) |
最新版 |
2022
/ 2022年11月16日 |
プログラミング 言語 | C、C++、C# |
対応OS | Windows、Linux |
プラットフォーム | x86、x64 |
種別 | RDBMS |
ライセンス | Microsoft EULA |
公式サイト | Microsoft SQL Server |
Microsoft SQL Server(マイクロソフト・エスキューエル・サーバー)とは、マイクロソフトが開発する、関係データベース管理システム(RDBMS)である。 略称はSQL Server、またはMS SQL等。 主要な問い合わせ言語(クエリ言語)は、T-SQLとANSI SQLである。
企業サーバ向けの高機能なシステムから、組み込み系の小規模なシステムまで幅広く対応する。 また、Microsoft Windowsと親和性が高く、ADOやADO.NETを経由し、最適なバックエンドデータベースを構築できるようになっている。
SQL Serverは、その規模に応じた複数の種類から構成されており、規模に合わせて機能や性能が異なっている。
SQL Server 2016 Service Pack 1 からは、エディション毎の機能差が緩和されており、Express Edition / Standard Edition でも、以前は Enterprise Edition でのみ提供されていた機能の一部が使用できるようになっている[1]。
SQL Server 2016 以降は、x64 のみの提供となり、x86 / IA-64 版の提供は行われていない。
製品名 | Enterprise | Business Intelligence | Standard | Web | Developer | Express | Workgroup | Compact | その他 |
---|---|---|---|---|---|---|---|---|---|
Microsoft SQL Server 2000 | ✓ | ✓ | ✓ | ✓ | Personal / Desktop Engine (MSDE) / Enterprise Evaluation / Windows CE | ||||
Microsoft SQL Server 2005 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Evaluation / Runtime | ||
Microsoft SQL Server 2008 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Express with Tools / Express with Advanced Services | |
Microsoft SQL Server 2012 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Microsoft SQL Server 2014 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Microsoft SQL Server 2016 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
Microsoft SQL Server 2017 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
Microsoft SQL Server 2019 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
Microsoft SQL Server 2022 | ✓ | ✓ | ✓ | ✓ | ✓ |
無償版は、個人用途や多くの小規模商用アプリケーションで利用されているため、以下に詳細を記述する。
Microsoft SQL Server Desktop Engine(マイクロソフト エスキューエル サーバ デスクトップ エンジン、初期バージョンではMicrosoft Data Engine)は、利用できるメモリサイズやデータベースサイズなどに制限があるものの無償で利用でき、学習用あるいは小規模なWebアプリケーションやデスクトップアプリケーションなどで利用できるものである。グラフィカルな管理ツールが提供されていないため、主にコマンドベースのユーティリティ (osql.exe)を利用して管理する。なお、Windows Vistaからは動作保証外となった。 MSDEの後継製品はSQL Server Express Editionである。
詳しいバージョンの調べ方は、マイクロソフトサポートオンライン[3]を参照。
SQL Server Express Edition は MSDE の後継製品で、引き続き無償で公開されている製品。 MSDE で利用できなかった管理ツール (SQL Server Management Studio Express) も公開され、管理が容易になった。また、データベースの最大サイズが拡張された。ただし、物理CPUの認識が1つに制約されたりメモリの使用量が 1GB まで縮小されるなどの制約もある。また MSDE 2000 に存在したジョブスケジュールなどの機能が省かれた。
高度な機能は利用できないが (SQL Server 2016 SP1 以降は、従来まで Enterprise Edition でのみサポートされていた機能の一部が使用可能になっている)、その代わり Workgroup Edition 以上のエディションと同等のプロトコルや Transact-SQL が利用でき、無償の開発プラットフォームを提供する事によりユーザーの囲い込みを図る、マイクロソフトの戦略的パッケージと言える。同じコンセプトの戦略をとるものに IBM DB2-C がある。
SQL Server Developer Edition は、開発 / テストシステム/ デモの用途でのみ利用可能なエディションである(運用の用途では使用することはできない)。
以前は有償製品として提供が行われていたが、SQL Server 2016 のリリースのタイミングで、無償利用可能な製品となり、SQL Server 2016 以降は、評価版のインストール時に Developer Edition を選択することができるようになっている。
無償のエディションであるが、Express Edition とは異なり、Enterprise Edition 相当の機能 / ハードウェアリソースを使用することができ、SQL Server のすべての機能を使用することが可能なエディションである(Enterprise Evaluation と異なり、評価版ではないため、試用期限が設定されていないことも特徴である)。
[4][5] [6] [7] [8] [9] [10] [11] [12]
各々のバージョンで最新のエンジンに改良されたり新しいSQL構文がサポートされていったり、アルゴリズムなどが変化したりしている。ある範囲での後方互換性も保たれており、「互換性レベル」を指定してその時点と同じ挙動をさせることが可能である。一方で新しいバージョンにおいて、互換性レベルのサポートが外れてしまったアプリケーションは利用できなくなる[※ 1]ので注意が必要である。
サポートされる互換性レベル | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
60 | 65 | 70 | 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | |||
製品名 | Microsoft SQL Server 6.0 | ✓ | |||||||||||
Microsoft SQL Server 6.5 | ✓ | ✓ | |||||||||||
Microsoft SQL Server 7.0 | ✓ | ✓ | ✓ | ||||||||||
Microsoft SQL Server 2000 | ✓ | ✓ | ✓ | ✓ | |||||||||
Microsoft SQL Server 2005 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
Microsoft SQL Server 2008 | ✓ | ✓ | ✓ | ||||||||||
Microsoft SQL Server 2008 R2 | ✓ | ✓ | ✓ | ||||||||||
Microsoft SQL Server 2012 | ✓ | ✓ | ✓ | ||||||||||
Microsoft SQL Server 2014 | ✓ | ✓ | ✓ | ||||||||||
Microsoft SQL Server 2016 | ✓ | ✓ | ✓ | ✓ | |||||||||
Microsoft SQL Server 2017 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
Microsoft SQL Server 2019 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ここではSQL Server 2005および2008に関するライセンス[13]を記述する。
最新のライセンスの情報については 次の情報 を参照[※ 2]。
以下にライセンスの主なポイントを記述する。なお、ライセンスの詳細条件はエディションによって変わることがあるため、マイクロソフトの公式サーバーサイト[14]やライセンス取り扱い業者なども参考にされたい。
SQL Serverには、さまざまなアドオンサービスが含まれている。これらはデータベースシステムの運用に必須でないが、中核機能であるデータベース管理システムの付加価値サービスを提供する。これらは、SQL Serverの一部として実行されるものもあれば、別プロセスのWindowsサービスとして実行され、独自のAPIを提供して制御、操作することができるものもある。
SQL Server Machine LearningサービスはSQL Serverインスタンス内で動作するため、ネットワークを介してデータを送信したり、自分のコンピューターのメモリに制限されたりすることなく、機械学習とデータ分析を行うことができる。このサービスには、データサイエンスで一般的に使用されるパッケージを含む、マイクロソフトのR/Pythonディストリビューションと、大規模なマシンモデルの作成に使用できる独自のパッケージ(revoscalepy、RevoScaleR、microsoftmlなど)が付属している[15]。
SQL Server Service Brokerはインスタンス、プログラミング環境内で使用される。クロスインスタンスアプリケーションの場合、Service BrokerはTCP/IPを介して通信し、メッセージの交換を介してさまざまなコンポーネントを同期する。Service Brokerはデータベースエンジンの一部として実行され、SQL Serverアプリケーションに信頼性の高いメッセージングおよびメッセージキュープラットフォームを提供する[16]。
SQL Server Replication Servicesは、SQL Serverによって使用され、ネットワーク上の他のデータベースサーバーやクライアント側のデータベースキャッシュなどのレプリケーションエージェント間で、データベースオブジェクト全体または存在するオブジェクトのサブセットをレプリケート、同期する。
SQL Server Analysis Servicesは、SQL ServerデータベースにOLAPとデータマイニング機能を追加する。OLAPエンジンは、データのMOLAP、ROLAP、およびHOLAPストレージモードをサポートする。Analysis Servicesは、基盤となる通信プロトコルとしてXML for Analysis標準をサポートする。キューブデータには、MDXおよびLINQ[17]クエリを使用してアクセスできる[18]。データマイニング固有の機能には、DMXクエリ言語でアクセスする。Analysis Servicesには、決定木、クラスタリングアルゴリズム、単純ベイズ分類器、時系列分析、シーケンスクラスタリングアルゴリズム、線形回帰/ロジスティック回帰分析、ニューラルネットワークなど、データマイニングで使用する様々なアルゴリズムが含まれる[19]。
SQL Server Reporting Servicesは、SQL Serverデータベースから収集されたデータのレポートを生成する機能である。Reporting Servicesは、Webインターフェイスで管理され、カスタムレポートアプリケーションの開発をサポートするWebサービスインターフェイスを備えている。レポートはRDLファイル形式で作成される[20]。
レポートは、Microsoft Visual Studioの最新バージョン(Visual Studio.NET 2003、2005、および2008)[21]と、インストール済みのBusiness Intelligence Development Studio、または付属のレポートビルダーを使用して設計できる。作成されたRDLファイルは、Excel、PDF、CSV、XML、BMP、EMF、GIF、JPEG、PNG、TIFF[22]、HTML Webアーカイブなどのさまざまな形式でレンダリングできる[23][24]。
当初はSQL Server 2000のリリース後のアドオンとして導入され[25]、Notification ServicesはMicrosoft SQL Serverプラットフォームの一部としてSQL Server 2005に初めてバンドルされた[26][27]。SQL Server Notification Servicesは、サブスクライバーに送信されるデータ駆動型通知を生成するためのメカニズムである。サブスクライバーは、特定のイベントまたはトランザクション(データベースサーバーにトリガーとして登録されている)に登録する。イベントが発生すると、Notification Servicesは3つの方法のいずれかを使用して、イベントの発生を通知するメッセージをサブスクライバーに送信する。これらのメソッドには、SMTP、SOAP、またはファイルシステム内のファイルへの書き込みが含まれる[28]。 Notification Servicesは、2008年8月のSQL Server 2008で廃止され、SQL Serverデータベースプラットフォームで正式にサポートされるコンポーネントではなくなった。
SQL Server Integration Services(SSIS)は、データインポート、データ統合、およびデータウェアハウスのニーズに対応するSQL ServerのETL機能を提供する。Integration Servicesには、さまざまなソースからのデータの抽出、データのクエリ、データの変換(集計、重複排除、データの非正規化/正規化、マージなど)、変換されたデータの宛先データベースまたはファイルへのエクスポートなどのワークフローを構築するためのGUIツールが含まれる[29]。
SQL Server全文検索サービスは、SQL Serverデータベースに格納されている非構造化テキストの特殊なインデックス作成およびクエリサービスである。全文検索インデックスは、文字ベースのテキストデータを使用して任意の列に作成できる。これにより、テキスト列で単語を検索できる。SQL LIKE
演算子を使用して実行できるが、SQL Server全文検索サービスを使用するとより効率的になる[30]。
SQL Serverには現在2種類の管理ツールが存在する。
他社製の管理ツール:
以前のバージョンで使用されていた管理ツール:
バージョン | 年 | リリース名 | コードネーム |
---|---|---|---|
1.0 (OS/2) |
1989 | SQL Server 1.0 (16bit) |
- |
1.1 (OS/2) |
1991 | SQL Server 1.1 (16bit) |
- |
4.21 (WinNT) |
1993 | SQL Server 4.21 | SQLNT |
6.0 | 1995 | SQL Server 6.0 | SQL95 |
6.5 | 1996 | SQL Server 6.5 | Hydra |
7.0 | 1998 | SQL Server 7.0 | Sphinx |
- | 1999 | SQL Server 7.0 OLAP Tools |
Plato |
8.0 | 2000 | SQL Server 2000 | Shiloh |
8.0 | 2003 | SQL Server 2000 64-bit Edition |
Liberty |
9.0 | 2005 | SQL Server 2005 | Yukon |
10.0 | 2008 | SQL Server 2008 | Katmai |
10.25 | 2010 | SQL Azure | Matrix (aka CloudDB) |
10.5 | 2010 | SQL Server 2008 R2 | Kilimanjaro (aka KJ) |
11.0 | 2012 | SQL Server 2012 | Denali |
12.0 | 2014 | SQL Server 2014 | Hekaton |
13.0 | 2016 | SQL Server 2016 | - |
14.0 | 2017 | SQL Server 2017 | - |
15.0 | 2019 | SQL Server 2019 | - |
16.0 | 2022 | SQL Serve 2022 | - |
元は、UNIX などの上で稼動していた Sybase の製品で、Ingres のプロジェクトからスピンオフした開発者達が開発したといわれる。 この製品の名称は、Sybase SQL Server だった。 その後 OS/2 向けのデータベース管理システム (DBMS) を手に入れることを望んだ Microsoft が、Sybase と提携して、移植版を開発・発売することになった。Microsoft は後にプラットフォームを Windows NT に移した。したがって、SQL Server の名称は Microsoft SQL Server と Sybase SQL Server を指す。
その後、両社は提携を解消して、それぞれ独自にバージョンアップを行うようになり、機能に大きな差が生じているので、これらは厳密に区別する必要がある。ただ、しばらくして、混同を避けるために、Sybase SQL Server は Adaptive Server Enterprise (ASE) に名前を変えたため、今では、単に SQL Server といったときは、Microsoft SQL Server を指す。
両製品には、インタフェースレベルである程度の互換性が残っており、同じドライバをいずれへの接続にも使えることがある。
SQL Server 6.5 までは Sybase から技術提供を受け開発を続けてきたが、次期 SQL Server ではアーキテクチャを一新したいと考えたビル・ゲイツ自身が、当時、関係データベースに関する世界的に著名な論文を発表していたジム・グレイや Dave Campbell らに直接会って口説き落とし、4名ほどを Microsoft に迎え入れ、コードのほとんどを書き直し、世に送り出したのが SQL Server 7 である。バージョン番号はわずか 0.5 しか上がっていないが、その中身はまったくの別物となっていた。
2016年3月7日、SQL Server on Linux のリリース計画が発表された[32]。2017年10月2日にリリースされたSQL Server 2017において、LinuxやDockerに対応した。SQL Server on Linux は、SQL PAL (SQL Platform Abstraction Layer) という抽象層を設けることで、Linux 上で、Windows の SQL Server のバイナリを実行するという構成をとっており、Linux 版の SQL Server でも Windows 版の SQL Server と同等の品質が担保されている。
Microsoft SQL Serverはエンタープライズ向けのRDBMS市場、とりわけ中小企業向けで高いシェアを有しているが、競合ベンダーから多数の製品が提供されている上、オープンソースDBも普及しており、競争が激化している。主要な競合製品には以下のRDBMSがある。