(1) SQLServerのインスタンスとは?インスタンス名の取得方法も併せてご紹介
(1-1) インスタンスの概要
(1-2) インスタンスの種類
(1-3) インスタンスの確認方法
(1-4) インスタンスの機能面の特徴
(1) SQLServerのインスタンスとは?インスタンス名の取得方法も併せてご紹介
(1-1) 「インスタンス」とは?
SQLServerにおける「インスタンス」はOSのサービスとして実行されている「sqlserver.exe」のプロセスのコピー、というイメージです。
「インスタンス」はマシンにインストールされている「特定のバージョンのSQLServer」と対応しており、「インスタンス」の配下には「データベース群(システムDB/ユーザーDB)」やDBを操作・管理する「サービス」や「セキュリティ認証データ」や「サーバファイル」等のデータベースを構成するソフトウェア全体が一式(1セット)が含まれているイメージです(※Oracleでいうと、ORACLE_HOMEにOracle DBのソフトウェアが入っているのに似ている感じでしょうか)。
そのため、例えばSQLServerを3個インストールした場合はインスタンスが3個存在する事になり、データベース群やサービスも3セットずつある事になります。
(図111)
(1-2) サンプルプログラム
SQLServerのインスタンスは大きく分けて2種類あります。
①既定のインスタンス(MSSQLSERVER)
接続先インスタンスの指定が特に無い場合(例:ホスト名のみ指定されている場合など)に接続される、デフォルトのインスタンスの事で「MSSQLSERVER」という名前です。
②名前付きインスタンス
開発者がインストール時に名前を付けた場合は「名前付きインスタンス」になります。名前付きインスタンスは接続要求時に「インスタンス名」を指定して接続を行います。
(1-3) インスタンスの確認方法
簡単なSQLを発行してインスタンス名を確認する事ができます。
(クエリ)
select @@servername; (結果例) --既定のインスタンスでない場合 Samplehost\InstanceName --既定のインスタンスの場合 Samplehost
(図132)既定のインスタンスで、ホスト名のみ返却された例
select @@servername;
(図133)既定のインスタンスで、インスタンスの名前が返却された例
(1-4) インスタンスの機能面の特徴
・「1つのインスタンス」は「複数のシステムデータベース」を扱う事ができます。
・「1つのインスタンス」は「1つ以上のユーザーデータベース」を扱う事ができます。
・アプリケーションからSQLServerに接続する際の「接続先」がインスタンスになります。
・Transact-SQLステートメントを受けてデータベースのオブジェクトやデータに対する操作を行います。