次の方法で共有


SQL Server の既定のインスタンスおよび名前付きインスタンスのファイルの場所

適用対象: SQL Server - Windows のみ

この記事では、SQL Server のインストールされているコンポーネントのファイルの場所について説明します。この記事では、SQL Server のインストール済みコンポーネントのファイルの場所について説明します。

概要

SQL Server のインストールは、1 つ以上の別個のインスタンスで構成されます。 既定のインスタンスか名前付きインスタンスかにかかわらず、各インスタンスには、それぞれ専用のプログラム ファイルとデータ ファイルが用意されます。さらに、コンピューター上の SQL Server のすべてのインスタンスが使用する共有ファイル セットもあります。

SQL Server のインスタンスに データベース エンジン、 Analysis Services、 Reporting Servicesが含まれている場合は、これらの各コンポーネントで使用するデータと実行ファイルのセット、およびすべてのコンポーネントが使用する共有ファイルが用意されます。

コンポーネントごとにインストール場所を分けるため、 SQL Serverインスタンス内の各コンポーネントについて一意のインスタンス ID が生成されます。

重要

リムーバブル ディスク ドライブ、圧縮を使用するファイル システム、システム ファイルが存在するディレクトリ、およびフェールオーバー クラスター インスタンス上の共有ドライブには、プログラム ファイルとデータ ファイルをインストールすることができません。

SQL Server のフォルダーおよびファイルの種類を除外するように、ウイルス対策アプリケーションやスパイウェア対策アプリケーションなどのスキャン ソフトウェアを構成することが必要な場合があります。 詳細については、「SQL Server を実行しているコンピューター上で実行するウイルス対策ソフトウェア」のサポート記事を参照してください。

システム データベース (master、model、msdb、およびtempdb) と データベース エンジン のユーザー データベースは、ストレージ オプションとしてサーバー メッセージ ブロック (SMB) ファイル サーバーを指定してインストールできます。 これは、 SQL Server スタンドアロン インストールと SQL Server フェールオーバー クラスター インストール (FCI) の両方に当てはまります。 詳細については、「 SQL Server をストレージ オプションとして SMB ファイル共有にインストールする」を参照してください。

Binn、Data、Ftdata、HTML、1033 の各ディレクトリとその内容は削除しないでください。 他のディレクトリは必要に応じて削除できますが、削除した機能やデータを元に戻すには、 SQL Serverをいったんアンインストールしてからインストールし直す必要があります。 HTML ディレクトリ内のすべての .htm ファイルは、削除も修正もしないでください。 SQL Server のツールを正常に機能させるには、これらのファイルが必要です。

のすべてのインスタンスで共有されるファイル SQL Server

1 台のコンピューター上のすべてのインスタンスで使用される共通ファイルはフォルダー <ドライブ>:\Program Files\Microsoft SQL Server\nnn\ にインストールされます。 <ドライブ> はコンポーネントがインストールされるドライブ文字です。 既定値は通常、ドライブ C です。nnn はバージョンを示します。

次の表に、パスのバージョンを示します。 {nn} はインスタンス ID で使用されるバージョン値とレジストリ パスです。

バージョン *nnn* {nn}
SQL Server 2022 (16.x) 160 16
SQL Server 2019 (15.x) 150 15
SQL Server 2017 (14.x) 140 14
SQL Server 2016 (13.x) 130 13
SQL Server 2014 (12.x) 120 12
SQL Server 2012 (11.x) 110 11

ファイルの場所とレジストリのマッピング

SQL Server セットアップの実行時には、サーバー コンポーネントごとにインスタンス ID が生成されます。 この SQL Server リリースのサーバー コンポーネントは、 データベース エンジン、 Analysis Services、および Reporting Servicesです。

既定のインスタンス ID は、次の形式を使用して作成されます。

  • データベース エンジンを表す "MSSQL" に、メジャー バージョン番号、アンダースコアおよびマイナー番号 (該当する場合)、ピリオド、およびインスタンス名を連結した形式

  • Analysis Servicesを表す "MSAS" に、メジャー バージョン番号、アンダースコアおよびマイナー番号 (該当する場合)、ピリオド、およびインスタンス名を連結した形式

  • Reporting Servicesを表す "MSRS" に、メジャー バージョン番号、アンダースコアおよびマイナー番号 (該当する場合)、ピリオド、およびインスタンス名を連結した形式

このリリースの SQL Server における既定のインスタンス ID の例を次に示します。

  • MSSQL{nn}.MSSQLSERVER: SQL Server の既定のインスタンスの場合。

  • MSAS{nn}.MSSQLSERVER: SQL Server Analysis Services の既定のインスタンスの場合。

  • MSSQL{nn}.MyInstance: "MyInstance" という名前の SQL Server の名前付きインスタンスの場合。

SQL Server および データベース エンジン を含み、名前が "MyInstance" で、インストール先が既定のディレクトリである Analysis Servicesの名前付きインスタンスの場合、ディレクトリ構造は次のようになります。

  • C:\Program Files\Microsoft SQL Server\MSSQL{nn}.MyInstance\

  • C:\Program Files\Microsoft SQL Server\MSAS{nn}.MyInstance\

インスタンス ID には任意の値を指定できますが、特殊文字や予約されたキーワードは使用しないでください。

SQL Server セットアップ時に、既定以外のインスタンス ID を指定できます。 ユーザーが既定のインストール ディレクトリを変更した場合は、\{Program Files}\Microsoft SQL Server ではなく <カスタム パス>\Microsoft SQL Server が使用されます。 アンダースコア (_) で始まるインスタンス ID や、シャープ記号 (#) またはドル記号 ($) を含むインスタンス ID はサポートされません。

Note

Integration Services とクライアント コンポーネントはインスタンス対応でないため、インスタンス ID は割り当てられません。 既定では、インスタンス対応でないコンポーネントが単一のディレクトリ (<ドライブ>:\Program Files\Microsoft SQL Server\nnn\) にインストールされます。 1 つの共有コンポーネントのインストール パスを変更すると、他の共有コンポーネントのパスも変更されます。 後続のインストールでは、最初のインストールと同じディレクトリに、インスタンス対応でないコンポーネントがインストールされます。

SQL Server Analysis Services は、インストール後にインスタンスの名前を変更できる、唯一の SQL Server コンポーネントです。 Analysis Services のインスタンスの名前を変更しても、インスタンス ID は変更されません。 インスタンスの名前変更が完了した後も、ディレクトリとレジストリ キーは、インストール時に作成されたインスタンス ID を引き続き使用します。

インスタンス対応のコンポーネントの場合は、HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID> の下にレジストリ ハイブが作成されます。 たとえば、次のように入力します。

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL{nn}.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSAS{nn}.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSRS{nn}.MyInstance

このレジストリは、インスタンス ID とインスタンス名のマッピングも管理します。 インスタンス ID とインスタンス名のマッピングは次のようになります。

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "<InstanceName>"="MSSQL{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "<InstanceName>"="MSAS{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "<InstanceName>"="MSRS{nn}"

ファイル パスの指定

セットアップ中、次の機能のインストール パスを変更できます。

セットアップでインストール パスが表示されるのは、ユーザーがインストール先フォルダーを構成できる機能のみです。

コンポーネント 既定のパス 構成可能/固定パス
データベース エンジン サーバー コンポーネント \Program Files\Microsoft SQL Server\MSSQL{nn}.<InstanceID>\ 構成可能
データベース エンジン データ ファイル \Program Files\Microsoft SQL Server\MSSQL{nn}.<InstanceID>\ 構成可能
Analysis Services サーバー (server) \Program Files\Microsoft SQL Server\MSAS{nn}.<InstanceID>\ 構成可能
Analysis Services データ ファイル \Program Files\Microsoft SQL Server\MSAS{nn}.<InstanceID>\ 構成可能
Reporting Services レポート サーバー (report server) \Program Files\Microsoft SQL Server\MSRS{nn}.<InstanceID>\Reporting Services\ReportServer\Bin\ 構成可能
Reporting Services レポート マネージャー \Program Files\Microsoft SQL Server\MSRS{nn}.<InstanceID>\Reporting Services\ReportManager\ 固定パス
Integration Services <インストール ディレクトリ>\nnn\DTS\ 1 構成可能
クライアント コンポーネント (bcp.exe および sqlcmd.exe を除く) <インストール ディレクトリ>\nnn\Tools\ 1 構成可能
クライアント コンポーネント (bcp.exe および sqlcmd.exe) <インストール ディレクトリ>\Client SDK\ODBC\nnn\Tools\Binn 固定パス
レプリケーションおよびサーバー側 COM オブジェクト <ドライブ>:\Program Files\Microsoft SQL Server\nnn\COM\ 2 固定パス
Integration Services コンポーネント DLL (データ変換ランタイム エンジン、データ変換パイプライン エンジン、および dtexec コマンド プロンプト ユーティリティ用) <ドライブ>:\Program Files\Microsoft SQL Server\nnn\DTS\Binn 固定パス
DLL。次のマネージド接続をサポート: Integration Services <ドライブ>:\Program Files\Microsoft SQL Server\nnn\DTS\Connections 固定パス
Integration Services がサポートする列挙子の型ごとの DLL <ドライブ>:\Program Files\Microsoft SQL Server\nnn\DTS\ForEachEnumerators 固定パス
SQL Server Browser Service、WMI プロバイダー <ドライブ>:\Program Files\Microsoft SQL Server\nnn\Shared\ 固定パス
次のすべてのインスタンス間で共有されるコンポーネント: SQL Server <ドライブ>:\Program Files\Microsoft SQL Server\nnn\Shared\ 固定パス

警告

\Program Files\Microsoft SQL Server\ フォルダーが権限の制限により保護されていることを確認してください。

ファイルの場所の既定のドライブは systemdriveで、通常は C ドライブです。子機能のインストール パスは、親機能のインストール パスによって決まります。

1 1 つのインストール パスが Integration Services とクライアント コンポーネントの間で共有されます。 1 つのコンポーネントのインストール パスを変更すると、他のコンポーネントのパスも変更されます。 後続のインストールでは、最初のインストールと同じ場所にコンポーネントがインストールされます。

2 このディレクトリは、コンピューター上のすべての SQL Server インスタンスで使用されます。 コンピューター上のいずれかのインスタンスに更新を適用すると、このフォルダー内のファイルに対する変更内容が、コンピューター上のすべてのインスタンスに反映されます。 既存のインストールに機能を追加する場合、前にインストールした機能の場所は変更できません。また、新しい機能のインストール場所を指定することもできません。 セットアップで以前に設定したディレクトリに追加機能をインストールするか、製品をいったんアンインストールしてインストールし直す必要があります。

注意

クラスター化された構成では、クラスターのすべてのノードで使用できるローカル ドライブを選択する必要があります。

セットアップ時にサーバー コンポーネントまたはデータ ファイルのインストール パスを指定する場合、プログラム ファイルとデータ ファイルについては、指定した場所に加えてインスタンス ID も使用されます。 ツールおよびその他の共有ファイルについては、インスタンス ID は使用されません。 また、 Analysis Services プログラム ファイルとデータ ファイルについてもインスタンス ID は使用されませんが、 Analysis Services リポジトリについてはインスタンス ID が使用されます。

データベース エンジン 機能のインストール パスを設定すると、 SQL Server セットアップではそのパスがルート ディレクトリとして使用されます。このルート ディレクトリは、SQL データ ファイルを含め、そのインストールで使用するすべてのインスタンス固有フォルダーに適用されます。 この場合、ルートを "C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<InstanceName>\MSSQL\" に設定すると、このパスの後にインスタンス固有のディレクトリが付加されます。

SQL Server インストール ウィザード (セットアップ UI モード) で USESYSDB アップグレード機能の使用を選択すると、製品が再帰的フォルダー階層にインストールされることがよくあります。 例: <SQL プログラム ファイル>\MSSQL14\MSSQL\MSSQL10_50\MSSQL\Data\。 USESYSDB 機能を使用する場合は、 データベース エンジン 機能ではなく、SQL データ ファイル機能のインストール パスを設定してください。

注意

データ ファイルは、常に、Data という名前の子ディレクトリに格納されているものと見なされます。 たとえば、アップグレード時に、システム データベースのデータ ディレクトリのルート パスとして C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<InstanceName>\ を指定すると、データ ファイルは C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<InstanceName>\MSSQL\Data に見つかります。