SQL Server 的默认实例和命名实例的文件位置

安装 SQL Server 将安装一个或多个单独的实例。 无论是默认实例还是命名实例都有自己的一组程序文件和数据文件,同时还有在计算机上的所有 SQL Server 实例之间共享的一组公共文件。

对于包含数据库引擎、Analysis Services 和 Reporting Services 的 SQL Server 实例,每个组件都有一套完整的数据文件和可执行文件,以及由所有组件共享的公共文件。

为了隔离每个组件的安装位置,将为给定 SQL Server 实例中的每个组件都生成一个唯一的实例 ID。

重要说明重要提示

程序文件和数据文件不能安装在以下位置:可移动磁盘驱动器、使用压缩的文件系统、系统文件所在的目录以及故障转移群集实例上的共享驱动器。

从 SQL Server 2012 开始,在安装系统数据库(Master、Model、MSDB 和 TempDB)和数据库引擎用户数据库时可以选择 Server Message Block (SMB) 文件服务器作为存储。 这同时适用于 SQL Server 独立安装和 SQL Server 故障转移群集安装 (FCI)。 有关详细信息,请参阅 安装 SQL Server,并使用 SMB 文件共享作为存储选项

请勿删除以下任何目录或其内容:Binn、Data、Ftdata、HTML 或 1033。 如有必要,可以删除其他目录;但是,如果不卸载并重新安装 SQL Server,则可能无法检索失去的功能或数据。 不要删除或修改 HTML 目录中的任何 .htm 文件。 它们对于 SQL Server 工具的正常运行是必需的。

所有 SQL Server 实例的共享文件

单个计算机上的所有实例使用的公共文件安装在文件夹 <drive>:\Program Files\Microsoft SQL Server\110\ 中,其中 <drive> 是安装组件的驱动器盘符。 默认值通常为驱动器 C。

文件位置和注册表映射

SQL Server 安装过程中,为每个服务器组件生成一个实例 ID。 此 SQL Server 版本中的服务器组件分别是数据库引擎、Analysis Services 和 Reporting Services。

使用以下格式构造默认实例 ID:

  • 对于数据库引擎采用的是 MSSQL,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。

  • 对于 Analysis Services 采用的是 MSAS,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。

  • 对于 Reporting Services 采用的是 MSRS,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。

此 SQL Server 2008 R2 版本中的默认实例 ID 的示例如下:

  • 对于默认 SQL Server 2012 实例,为 MSSQL11.MSSQLSERVER。

  • 对于默认 SQL Server 2012 Analysis Services (SSAS) 实例,为 MSAS11.MSSQLSERVER。

  • 对于名为“MyInstance”的 SQL Server 2012 命名实例,为 MSSQL11.MyInstance。

包括数据库引擎和 Analysis Services 的 SQL Server 2012 命名实例(名为“MyInstance”并且按照默认目录安装)的目录结构如下所示:

  • C:\Program Files\Microsoft SQL Server\MSSQL11.MyInstance\

  • C:\Program Files\Microsoft SQL Server\MSAS11.MyInstance\

可为实例 ID 指定任何值,但应避免使用特殊字符和保留关键字。

在 SQL Server 安装期间可指定一个非默认实例 ID。 如果用户选择更改默认安装目录,则不使用 <Program Files>\Microsoft SQL Server,而使用 <自定义路径>\Microsoft SQL Server。 请注意,不支持以下划线 (_) 开头或者包含数字符号 (#) 或美元符号 ($) 的实例 ID。

注意注意

Integration Services 和客户端组件是不识别实例的,因此不为它们指定实例 ID。 默认情况下,将不识别实例的组件安装在单个目录 <drive>:\Program Files\Microsoft SQL Server\110\ 中。 更改一个共享组件的安装路径会同时更改其他共享组件的安装路径。 后续安装会将非实例识别组件安装到与原始安装相同的目录。

SQL Server Analysis Services 是唯一的在安装后支持实例重命名的 SQL Server 组件。 如果重命名 Analysis Services 实例,实例 ID 不会发生变化。 重命名实例后,目录和注册表项将继续使用在安装期间创建的实例 ID。

将在 HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID> 下为识别实例的组件创建注册表配置单元。 例如,

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL11.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSAS11.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSRS11.MyInstance

注册表还维护实例 ID 到实例名的映射。 实例 ID 到实例名的映射按如下方式维护:

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "InstanceName"="MSSQL11"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "InstanceName"="MSAS11"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "InstanceName"="MSRS11"

指定文件路径

安装过程中,可以更改下列功能的安装路径:

安装程序中仅显示具有用户可配置目标文件夹的功能的安装路径:

组件

默认路径1, 2

可配置路径3或固定路径

数据库引擎服务器组件

\Program Files\Microsoft SQL Server\MSSQL11.<实例 ID>\

可配置

数据库引擎数据文件

\Program Files\Microsoft SQL Server\MSSQL11.<实例 ID>\

可配置

Analysis Services 服务器

\Program Files\Microsoft SQL Server\MSAS11.<实例 ID>\

可配置

Analysis Services 数据文件

\Program Files\Microsoft SQL Server\MSAS11.<实例 ID>\

可配置

Reporting Services 报表服务器

\Program Files\Microsoft SQL Server\MSRS11.<实例 ID>\Reporting Services\ReportServer\Bin\

可配置

Reporting Services 报表管理器

\Program Files\Microsoft SQL Server\MSRS11.<实例 ID>\Reporting Services\ReportManager\

固定路径

Integration Services

<安装目录>\110\DTS\

可配置4

客户端组件

<安装目录>\110\Tools\

可配置4

复制和服务器端 COM 对象

<drive>:\Program Files\Microsoft SQL Server\110\ COM\5

固定路径

用于数据转换运行时引擎、数据转换管道引擎和 dtexec 命令提示实用工具的 Integration Services 组件 DLL

<drive>:\Program Files\Microsoft SQL Server\110\ DTS\Binn

固定路径

为 Integration Services 提供托管连接支持的 DLL

<drive>:\Program Files\Microsoft SQL Server\110\ DTS\Connections

固定路径

Integration Services 支持的每种类型枚举器的 DLL

<drive>:\Program Files\Microsoft SQL Server\110\ DTS\ForEachEnumerators

固定路径

SQL Server 浏览器服务、WMI 提供程序

<drive>:\Program Files\Microsoft SQL Server\110\ Shared\

固定路径

所有 SQL Server 实例共享的组件

<drive>:\Program Files\Microsoft SQL Server\110\ Shared\

固定路径

1确保使用有限的权限对 \Program Files\Microsoft SQL Server\ 文件夹进行保护。

2这些位置的默认驱动器为 systemdrive,通常为驱动器 C。

3子功能的安装路径由父功能的安装路径决定。

4Integration Services 和客户端组件共享单个安装路径。 更改一个组件的安装路径会同时更改其他组件的安装路径。 后续安装将组件安装到与原始安装相同的位置。

5此目录由计算机上的所有 SQL Server 实例使用。 如果对计算机上的任一实例应用更新,则对此文件夹中的文件所做的任何更改都将影响计算机上的所有实例。向现有安装添加功能时,不能更改以前安装的功能的位置,也不能为新功能指定该位置。 必须将其他功能安装到安装程序已建立的目录,或者卸载并重新安装产品。

注意注意

对于群集配置,必须选择在该群集的每个节点上都可用的本地驱动器。

当在安装过程中为服务器组件或数据文件指定安装路径时,安装程序除了为程序和数据文件使用指定的位置外,还使用实例 ID。 安装程序不会将实例 ID 用于工具和其他共享文件。 安装程序也不会将任何实例 ID 用于 Analysis Services 程序和数据文件,尽管它会将实例 ID 用于 Analysis Services 存储库。

如果为数据库引擎功能设置了安装路径,则对于此次安装,SQL Server 安装程序会将该路径用作所有特定于实例的文件夹(包括 SQL 数据文件)的根目录。 在这种情况下,如果将根目录设置为“C:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\”,则特定于实例的目录将添加到此路径的末尾。

在 SQL Server 安装向导(安装程序用户界面模式)中选择使用 USESYSDB 升级功能的客户很容易将产品安装到递归文件夹结构中。例如,<SQLProgramFiles>\MSSQL11\MSSQL\MSSQL10_50\MSSQL\Data\。 这时,为了使用 USESYSDB 功能,请为 SQL 数据文件功能而非数据库引擎功能设置安装路径。

注意注意

数据文件始终应位于名为 Data 的子目录中。 例如,当数据文件位于 C:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\Data 下时,应指定 C:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\ 作为升级期间系统数据库的数据目录的根路径。

请参阅

参考

数据库引擎配置 - 数据目录

Analysis Services 配置 - 数据目录