Microsoft SQL データベース エンジンは、データの格納、処理、およびセキュリティ保護のためのコア サービスです。 さまざまな商用アプリケーションや起業家アプリケーションに対して、制御されたアクセスと迅速なトランザクション処理を提供します。
SQL データベース エンジンは、Microsoft SQLのすべての製品群の共通の基盤となるエンジンです。 エンタープライズ規模の汎用リレーショナル データベース管理システム (RDBMS) です。
Microsoft SQL データベース エンジンは、世界中の何百万もの顧客にとって、セキュリティで保護されたデータ処理とストレージのためのデータベース サービスです。 要求の厳しいアプリケーションでは、大規模な整合性を維持しながら、情報を確実に読み取り、変更できます。 SQL データベース エンジンは、クライアント接続を受け入れるサービスとして実行され、データベースに対して要求された操作を実行します。 エンタープライズ クラスのデータ アクセスと暗号化機能、組み込みの高可用性とデータベース復旧機能を使用してセキュリティで保護された SQL データベース エンジンは、完全なデータベース プラットフォームです。
マルチモーダル データベース エンジン
SQL データベース エンジンは、専用のストレージ形式、専用のインデックス構造、およびすべてのデータ モデルでコストベースの決定を行う単一のクエリ オプティマイザーを備えたマルチモーダル database engineです。
SQL データベース エンジンを使用する製品には、エンタープライズ クラスのオンライン トランザクション処理 (OLTP)、オンライン分析処理 (OLAP)、最新のアプリケーション用の非リレーショナル ソリューションがあります。 データベースにはリレーショナルな正規化されたデータが一般的な場合がありますが、SQL データベース エンジンでは多くのデータ モデルとデータ形式がサポートされています。
すべての機能は、同じTRANSACT-SQL (T-SQL) クエリ言語を使用し、同じセキュリティ層の下に、同じ HA/DR ソリューションを使用して、同じ SQL データベース エンジンに表示されます。
- 列ストア インデックス: 概要
SQL Server と Azure SQL Database - キーと値のペア
- SQL Server での JSON データ
- 空間データ
- SQL データベース エンジン 内のベクトル検索とベクトルインデックス
- XML データ (SQL Server)
ツール
SQL データベース エンジンには、クエリ、データアーキテクチャ、自動化、データベース開発用の無料で業界をリードするツールのスイートが付属しています。
データベース管理者 (DBA) は、バックアップと復元、パフォーマンスチューニング、セキュリティ、高可用性を管理します。
推奨されるツール:
- SQL Server Management Studio (SSMS): グラフィカル ユーザー インターフェイスを使用したフル機能の管理
- msSQL extension for Visual Studio Code: 軽量なタスクとスクリプト
- sqlcmd: デプロイと自動化のための軽量コマンド ライン インターフェイス (CLI)
- SQL Database Projects extension for Visual Studio Code: ソース管理のプロジェクトでデータベース スキーマを管理および開発する
- SQL Server Migration Assistant (SSMA): Microsoft Access、Db2、MySQL、Oracle、Sybase からSQL ServerとAzure SQLに移行する
データベースの基礎: ACID コンプライアンス
RDBMS のコア テネットは、トランザクションの ACID プロパティのサポートです。 トランザクションは、論理的な 1 つの作業単位として実行される一連の操作です。 論理作業単位は、トランザクションとして修飾するために、アトミック性、整合性、分離性、持続性 (ACID) の 4 つのプロパティを示す必要があります。
| 財産 | 説明 |
|---|---|
| Atomicity | トランザクションは、分離できない 1 つの作業単位であり、そのデータ変更がすべて実行されるか、まったく実行されないかのどちらかである必要があります。 |
| 一貫性 | トランザクションの完了時に、すべてのデータが一貫した状態になければなりません。 リレーショナル データベースでは、データの整合性を維持するために、すべてのルールと宣言された制約をトランザクションの変更に適用する必要があります。 |
| 隔離 | 1 つのトランザクションによって行われた変更は、他の同時実行トランザクションによって行われた変更から分離する必要があります。 トランザクション間の部分的または中間的な状態は許可されません。 このプロパティは、シリアル化可能性とも呼ばれます。これは、同じデータベース状態となる一連のシーケンシャル トランザクションを再生できるためです。 |
| Durability | トランザクションが完了すると、不揮発性ストレージに書き込まれるので、障害が発生した場合でもシステムはその影響を記録します。 揮発性メモリ (RAM) にのみコミットされたトランザクションは永続的ではありません。 |
トランザクションの詳細については、「 トランザクションのロックと行のバージョン管理ガイド」を参照してください。 SQL データベース エンジンの詳細については、SQL Server内部およびアーキテクチャ ガイドを参照してください。
設計上、既定では、SQL データベース エンジンは完全に ACID 準拠のデータベースです。 データベース開発者は、スケールまたはパフォーマンスを考慮して、SQL データベース エンジンの一部の ACID 原則を意図的にバイパスできます。 たとえば、遅延持続性、非持続性テーブルを使用したり、コミットされていないデータを読み取ったりできます。 これらすべての場合において、開発者は他の目標を達成するためにいくつかの ACID プロパティをトレードオフすることを選択します。 このようなトレードオフは、データ整合性の問題が発生し、ビジネスの成果に影響を与える可能性があるため、慎重に行う必要があります。
プラットフォーム機能のサポート
アプリケーションで使用されるほとんどのTransact-SQL (T-SQL) 機能は、すべての SQL データベース エンジン プラットフォームで完全にサポートされています。 たとえば、データ型、演算子、文字列、算術関数、論理関数、カーソル関数などの主要な SQL コンポーネントは、すべてのプラットフォームで同じように機能します。 ただし、データ定義言語 (DDL) 要素とデータ操作言語 (DML) 要素には、いくつかの T-SQL の違いがあります。 これらの違いにより、T-SQL ステートメントとクエリは、設計上の理由から、さまざまなプラットフォームでのみ部分的にしかサポートされません。
サービスとしてのプラットフォーム (PaaS) またはサービスとしてのソフトウェア (SaaS) プラットフォームの場合、一部のオペレーティング システムまたはローカル ファイルの機能は、論理的または物理的な分離のために無効になります。 包含データベースでは、インスタンス レベルのオプション、オペレーティング システム コンポーネントを構成する場合、またはファイル システムの構成を指定する場合、T-SQL ステートメントとオプションは使用できません。
機能とリンク
次の表に、SQL データベース エンジンの主な機能と、概要ドキュメントと簡単な説明へのリンクを示します。
| 特徴 | 説明 |
|---|---|
| Always On 可用性グループ | エンタープライズ高可用性とディザスター リカバリー (同期または非同期、セカンダリ読み取り可能レプリカあり) |
| 常に暗号化 | 機密データ列のクライアント側暗号化 |
| 監査 | 管理アクティビティの監査 |
| バックアップと復元 | データベース データの保護と復旧 |
| バックアップ圧縮 | 組み込みのバックアップ圧縮 |
| バックアップの暗号化 | 組み込みのバックアップ暗号化 |
| バッファー プール拡張機能 | バッファー プールに不揮発性 RAM を追加して I/O をブーストする |
| 変更データのキャプチャ | データ変更の追跡とキャプチャ |
| 列ストア インデックス | 分析ワークロード用の列形式ストレージ |
| 動的データ マスク | 機密データの公開を制限する |
| フェールオーバー クラスタリング | 高可用性とディザスター リカバリーのためのエンタープライズ フェールオーバー クラスタリング |
| フルテキスト検索 | 高度なテキスト検索機能 |
| グラフ テーブル | モデルとクエリ グラフのリレーションシップ |
| インメモリ OLTP | メモリ最適化テーブルとプロシージャ |
| インデックス付きビュー | インデックスを作成してビューを具体化する |
| JSON のサポート | 組み込みの JSON 関数を使用して JSON データを格納およびクエリする |
| Ledger | 改ざんを防止するデータベース機能 |
| Microsoft Entra 認証 | エンタープライズ全体のユーザーとサービス アカウントの認証 |
| オンライン インデックスのメンテナンス | 通常のアクティビティを中断しないメンテナンス |
| 最適化されたロック | トランザクション ロック メカニズムの改善 |
| パーティション分割 | パーティション化されたテーブルとインデックスによるスケーリング |
| PolyBase | 外部データ ソースに対してクエリを実行するためのデータ仮想化 |
| クエリ ストア | クエリ パフォーマンスチューニング用の組み込みモニター |
| レプリケーション | サーバー間でデータを分散する |
| 行レベルのセキュリティ | テーブル データへのフィルター処理されたアクセスを制御する |
| 空間データ | 地理的データを格納してクエリを実行する |
| テンポラル テーブル | 変更の完全な履歴を追跡する |
| 透過的なデータ暗号化 | 静止時のデータベースファイルを暗号化する |
| ベクターのサポート | ベクトル埋め込みを保存し、ベクトルインデックスに対するベクトル検索をクエリします。 LangChain 統合とSemantic Kernel統合のサポート。 |
| XML のサポート | XML データ、XML インデックスの格納とクエリ |
言語と ドライバーのサポート:
| ドライバー | 説明 |
|---|---|
| .NET | SQL 用 ADO.NET ドライバー |
| 進む | Golang プログラミング言語の SQL 用 go-mssqldb ドライバー |
| Java | JDBC Driver for SQL |
| Node.js | SQL 用 Node.js ドライバー |
| ODBC | ODBC Driver for SQL Server |
| OLE DB | OLE DB Driver for SQL Server(SQL Server 用 OLE DB ドライバー) |
| PHP | SQL 用 PHP ドライバー |
| Python | Python用mssql-pythonドライバのSQL |
| ルビー | SQL 用 Ruby ドライバー |
| Spark | SQL 用 Spark コネクタ |
SQL データベース エンジンを使用した最新のプラットフォーム
次の最新のプラットフォームでは、主力のSQL Server製品から始まる SQL データベース エンジンを使用しています。
| 製品 | デプロイ モデル |
|---|---|
| SQL Server | オンプレミス、Azure VM 上の SQL Server を含む仮想マシン、 Arc 対応、Windows、Linux、および Linux コンテナー |
| Azure SQL Database | フル マネージド データベース、サービスとしてのプラットフォーム (PaaS) |
| Azure SQL Managed Instance | フル マネージド データベース インスタンス、サービスとしてのプラットフォーム (PaaS) |
| Fabric Data Warehouse | フル マネージド ウェアハウス、Microsoft Fabric でのサービスとしてのソフトウェア (SaaS) |
| Fabric 内の SQL データベース | サービスとしてのソフトウェア (SaaS) におけるフル マネージド データベース、Microsoft Fabric |
SQL ドキュメントでは、バージョン セレクタードロップダウン リストは、記事、構文リファレンス、チュートリアル、またはその他のコンテンツに適用されるバージョンを理解するための鍵となります。 Learn の多くの記事は、特定の SQL プラットフォームと機能に合わせてカスタマイズされています。 ほとんどの SQL リファレンス記事には、記事に該当するプラットフォームを示すアイコン バーもあります。 ドキュメントのナビゲーションの詳細については、SQL Server ドキュメント ナビゲーション ガイドを参照してください。
無料プラン
今すぐ無料で始めましょう。 無料のAzure サブスクリプションを使用して、SQL データベース エンジンを無料で試すことができます
- 開発およびテスト システム用の SQL Server Developer Editions
- Azure SQL Database無料プラン
- Azure SQL Managed Instance無料プラン
- Microsoft Fabricの無料試用容量
移行
Azure Database Migration Guides ランディング ページには、さまざまなプラットフォームからさまざまなMicrosoft SQL プラットフォームへの移行をすばやく開始するためのリンクが用意されています。
- SQL データ移行ツールを比較 して、さまざまな移行を行います。
- Fabricへの移行の詳細については、Microsoft Fabric移行の概要を参照してください。
- 複数のデータベース ソースからAzure データ プラットフォームへの移行用のフル マネージド サービスである Azure Database Migration Service (Azure DMS) を試してください。