SQLサーバーとは何ですか? Archi構造、種類とバージョン
⚡ スマートサマリー
SQL Serverは MicrosoftTransact-SQL言語をベースに構築されたリレーショナルデータベース管理システムであり、複数のエディション、クライアント/サーバーアーキテクチャ、および企業データの保存と分析のためのデータベースエンジン、SSIS、SSAS、SSRSなどのコアサービスを提供しています。
SQLサーバーとは何ですか?
SQL Serverは、リレーショナルデータベース管理システム(RDBMS)であり、 Microsoft主に以下の製品と競合するために設計・開発されています。 MySQL (NAIST) と Oracle DatabaseSQL Serverは、標準の構造化照会言語(SQL)であるANSI SQLをサポートしています。ただし、SQL Serverには、T-SQL(Transact-SQL)と呼ばれる独自のSQL実装も付属しています。
T-SQL は、 Microsoft Transact-SQLと呼ばれる独自の言語。変数宣言、例外処理、ストアドプロシージャなどの機能が追加されている。
SQL Server Management Studio (SSMS)はSQL Serverの主要なインターフェースツールであり、32ビット環境と64ビット環境の両方をサポートしています。
SQL Serverのバージョン履歴
SQL Serverは、30年以上にわたる数々のリリースを経て進化を遂げてきました。
- Microsoft そして Sybase は 1.0 年にバージョン 1989 をリリースしました。
- 両社の提携は1990年代初頭に終了し、 Microsoft SQL Serverという名称に対する所有権を保持した。
- 1990s、 Microsoft SQL Serverは、2000、2005、2008、2012、2014、2016、2017、2019など、多くのバージョンを出荷してきました。
- SQL Server 2017 では Linux および Docker コンテナのサポートが追加され、エンジンがさらに拡張されました。 Windows.
- 最新のリリースは、SQL Server 2022 (2022 年 11 月) と SQL Server 2025 (2025 年 11 月) です。 Microsoft AI対応データベースとしての地位を確立する。
SQL Serverのエディション
以下は、SQL Serverの代表的なエディションです。
SQL サーバー エンタープライズ: ハイエンド、大規模、ミッションクリティカルなビジネスワークロードに使用されます。ハイエンドのセキュリティ、高度な分析、 機械学習、 もっと。
SQL サーバー標準: 中層アプリケーションに適しており、 データマート。 これには、基本的なレポート作成と分析が含まれます。
SQL Server Web: これは、ウェブホスティング事業者向けの総所有コストを低く抑えるオプションとして設計されています。小規模から大規模なウェブサイトまで、拡張性、手頃な価格、管理の容易さを提供します。
SQL サーバー開発者: エンタープライズ版と似ていますが、非本番環境向けにライセンスされています。主に構築、テスト、デモに使用されます。
SQL サーバーエクスプレス: これは小規模な用途を対象としており、無料で利用できます。
クライアントサーバーとしての MS SQL Server Archi構造
クライアント・サーバーモデルを理解するために、母親と息子のトムとの早朝の簡単な会話を考えてみましょう。
地図を作成する前に、この日常的なシーンでの役割について少し考えてみましょう。ping それらをSQL Serverに転送します。
自分の脳に問いかけてみてください。「クライアントは誰で、サーバーは誰なのか、マッピングできますか?」
最も可能性の高い答えは、「トムはコーヒーを注文しているので顧客であり、コーヒーを淹れることができる彼の母親は給仕係である」だろう。
ここでトムは母親にコーヒーを一杯頼みます。母親は牛乳、コーヒー、砂糖を混ぜて、熱いコーヒーを出します。
同様の考え方は、以下に示すように、MS SQL Serverのアーキテクチャにもそのまま当てはまります。
クライアントとは、特定のコンピュータにインストールされているMS SQL Serverにリクエストを送信するアプリケーションのことです。サーバーは、リクエストに応じて入力データを処理できます。そして最終的に、処理済みの出力データを結果として返します。
SQL Server の主要なコンポーネントとサービス
以下は、SQL Serverの主なコンポーネントとサービスです。
データベース エンジン: このコンポーネントは、データの保存、高速トランザクション処理、およびデータセキュリティを担います。
SQLサーバー: このサービスは、インスタンスを開始、停止、一時停止、継続します。 Microsoft SQL Server実行ファイル名はsqlservr.exeです。
SQL サーバー エージェント: これはタスクスケジューラの役割を果たします。任意のイベントまたはオンデマンドで起動できます。実行ファイル名はsqlagent.exeです。
SQLサーバーブラウザ: これは受信したリクエストを監視し、目的のSQL Serverインスタンスに接続します。実行ファイル名はsqlbrowser.exeです。
SQL Server の全文検索: これにより、ユーザーはSQLテーブル内の文字データに対して全文検索を実行できます。実行ファイル名はfdlauncher.exeです。
SQL Server VSS Writer: これにより、SQL Server サービスが実行されていない場合でも、データ ファイルのバックアップと復元が可能になります。実行ファイル名は sqlwriter.exe です。
SQL Server 分析サービス (SSAS): データ分析、データマイニング、機械学習機能を提供します。SQL Server は R と統合され、 Python 高度な分析のための言語。実行ファイル名はmsmdsrv.exeです。
SQL Server Reporting Services (SSRS): レポート機能と意思決定機能を提供し、Hadoopとの統合も可能です。実行ファイル名はReportingServicesService.exeです。
SQL Server 統合サービス (SSIS): 提供元tracさまざまな種類のデータをあるソースから別のソースに移動するためのETL(変換、ロード)機能。生の情報を有用な情報に変換するものと考えることができます。実行ファイル名はMsDtsSrvr.exeです。詳細については、こちらをご覧ください。 SSISチュートリアル.
SQL Server インスタンス
SQL Serverでは、複数のサービスを同時に実行でき、各サービスには個別の ログインポートとデータベース。これらは2種類に分けられます。
- プライマリ(デフォルト)インスタンス
- 名前付きインスタンス
プライマリインスタンスにアクセスする方法は2つあります。1つ目はサーバー名を使用する方法、2つ目はIPアドレスを使用する方法です。名前付きインスタンスにアクセスするには、インスタンス名の前にバックスラッシュを追加します。
例えば、ローカルサーバー上のxyzという名前のインスタンスに接続するには、127.0.0.1\xyzを使用します。SQL Server 2005以降では、1台のサーバーで最大50個のインスタンスを同時に実行できます。
同じサーバー上に複数のインスタンスを配置することは可能ですが、デフォルトインスタンスとして設定できるのは1つだけで、残りはすべて名前付きインスタンスにする必要があります。すべてのインスタンスは同時に実行でき、各インスタンスは互いに独立して動作します。
SQL Server インスタンスの重要性
SQL Server インスタンスの利点は次のとおりです。
1. 1台のマシンに異なるバージョンをインストールする場合
1台のマシン上に複数のバージョンのSQL Serverをインストールできます。それぞれのインストールは互いに独立して動作します。
2.コスト削減のため
インスタンスを利用することで、SQL Serverの運用コスト、特にライセンス費用を削減できます。異なるインスタンスから異なるサービスを利用できるため、すべてのサービスに対して1つのライセンスを購入する必要はありません。
3. 開発環境、本番環境、テスト環境をそれぞれ個別に維持するため
これが、1台のマシン上に複数のSQL Serverインスタンスを配置する主な利点です。開発、本番、テストなど、用途に応じて異なるインスタンスを使用できます。
4. 繰り返し発生するデータベースの問題を軽減するため
すべてのサービスが単一のSQL Serverインスタンス上で実行されている場合、繰り返し発生する問題がすべてのサービスに同時に影響を与える可能性があります。サービスを別々のインスタンスで実行することで、このような問題を抑制し、回避することができます。
5. セキュリティ権限を分離するため
異なるサービスが異なるSQL Serverインスタンス上で実行されている場合、最も機密性の高いサービスを実行しているインスタンスのセキュリティ対策に集中することができます。
6. スタンバイサーバーの保守用
SQL Serverインスタンスに障害が発生すると、サービスが停止する可能性があります。そのため、スタンバイサーバーが重要になります。スタンバイサーバーは、現在のサーバーに障害が発生した場合に、自動的に起動できるからです。これは、SQL Serverインスタンスを使用することで容易に実現できます。



