SQL Serverのインスタンス
「SQL Serverのインスタンス」とはデータベース全般のサービスのことです。SQL Serverを起動するとデータベースが起動し、このデータベースを含めた全体のサービスがインスタンスです。
参照:インスタンスの構成 – MSDN – Microsoft
2種類のインスタンス
SQL Serverのインスタンスは2種類あります。
- 既定のインスタンス・・・デフォルトのインスタンス「MSSQLSERVER」。1つのみ
- 名前付きインスタンス・・・名前をつけたインスタンス。複数可
デフォルトのインスタンス「MSSQLSERVER」を使うか、独自の名前をつけた名前付きインスタンスを使います。
SQL Serverは1つのインスタンスにデータベースが複数存在できます。複数のデータベースを1つのインスタンスにできますが、インスタンスを停止するとすべてのデータベースが停止してしまいます。
名前付きインスタンスは複数のインスタンスが作成可能です。同一サーバーに複数のインスタンスが共存できます。無償のExpress Editionはこの名前付きインスタンスになります。
通常、1つのインスタンスで事足りますが、SQL Serverの異なるバージョンを併用したり、開発・テスト環境を併用したりする場合は、複数のインスタンスを追加します。
Oracleのインスタンスとの違い
一方、Oracleはインスタンスはデータベースに対して基本は1つです。
Oracleのインスタンスはデータベースのメモリのことを指します。
かみ砕くと、Oracleのインスタンスはデータベースとペアになるイメージです。データベース(ファイル)とインスタンス(メモリ)はペアです。
しかし、SQL Serverはインスタンスというサービスにデータベースが複数存在し、インスタンスはSQL Serverというサービス全般をさしました。つまり、SQL Serverはサービス全体のことです。
- SQLServer・・・1つのインスタンス内にデータベースが複数。インスタンスはサービス全体のこと
- Oracle・・・データベースとインスタンスはペア。データベースに対してインスタンスは1つ。
この違いがあるためにSQL ServerとOracleの技術者は「インスタンス」で話しがかみあわなくなってしまいます。SQL Serverのインスタンスは全体のことなので、インスタンスを停止すると、すべてのデータベースが停止されてしまうので注意が必要ですね。
以上、SQL Serverのインスタンスの解説でした。
コメント