SQL Server 默认实例和命名实例的文件位置
安装 SQL Server 将安装一个或多个单独的实例。 无论是默认实例还是命名实例都有自己的一组程序文件和数据文件,同时还有在计算机上的所有 SQL Server 实例之间共享的一组公共文件。
对于包含 SQL Server 、 数据库引擎和 Analysis Services的 Reporting Services实例,每个组件都有一套完整的数据文件和可执行文件,以及由所有组件共享的公共文件。
为了隔离每个组件的安装位置,将为给定 SQL Server实例中的每个组件都生成一个唯一的实例 ID。
重要
程序文件和数据文件无法安装在以下位置:可移动磁盘驱动器、使用压缩的文件系统、系统文件所在的目录,以及故障转移群集实例上的共享驱动器。
在安装系统数据库(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
单个计算机上的所有实例使用的通用文件安装在文件夹<驱动器>:\Program Files\Microsoft SQL Server\120\中,其中<驱动器>是安装组件的驱动器号。 默认值通常是驱动器 C。
文件位置和注册表映射
SQL Server 安装过程中,为每个服务器组件生成一个实例 ID。 此 SQL Server 版本中的服务器组件分别是 数据库引擎、 Analysis Services和 Reporting Services。
默认实例 ID 使用以下格式构造:
对于 数据库引擎采用的是 MSSQL,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。
对于 Analysis Services采用的是 MSAS,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。
对于 Reporting Services采用的是 MSRS,后面依次跟有主版本号、下划线和次版本号(如果适用)、一个句点以及实例名。
此 SQL Server 版本中的默认实例 ID 的示例如下:
MSSQL12。默认实例的 MSSQLSERVER SQL Server 2014。
MSAS12。SQL Server 2014 Analysis Services 的默认实例的 MSSQLSERVER (SSAS) 。
MSSQL12。SQL Server 2014 名为“MyInstance”的命名实例的 MyInstance。
SQL Server 2014 命名实例的目录结构,该实例包括数据库引擎和 Analysis Services,名为“MyInstance”,并安装到默认目录,如下所示:
C:\Program Files\Microsoft SQL Server\MSSQL12.MyInstance\
C:\Program Files\Microsoft SQL Server\MSAS12.MyInstance\
可以为实例 ID 指定任何值,但应避免使用特殊字符和保留关键字。
在 SQL Server 安装期间可指定一个非默认实例 ID。 <如果用户选择更改默认安装目录,<则使用自定义路径>\MicrosoftSQL Server,而不是 Program Files>\MicrosoftSQL Server。 请注意,不支持以下划线 (_) 开头或者包含数字符号 (#) 或美元符号 ($) 的实例 ID。
注意
Integration Services 和客户端组件是不识别实例的,因此不为它们指定实例 ID。 默认情况下,非实例感知组件安装到单个目录:<drive>:\Program Files\Microsoft SQL Server\120\。 更改一个共享组件的安装路径还会更改其他共享组件的安装路径。 后续安装会将非实例识别组件安装到与原始安装相同的目录。
SQL Server Analysis Services 是在安装后支持实例重命名的唯一 SQL Server 组件。 如果重命名 Analysis Services 实例,实例 ID 不会发生变化。 在实例重命名完成后,目录和注册表项会继续使用在安装期间创建的实例 ID。
在 HKLM\Software\Microsoft\MicrosoftSQL Server\<Instance_ID> 下为识别实例的组件创建注册表配置单元。 例如,
HKLM\Software\Microsoft\MicrosoftSQL Server\MSSQL12。MyInstance
HKLM\Software\Microsoft\MicrosoftSQL Server\MSAS12。MyInstance
HKLM\Software\Microsoft\MicrosoftSQL Server\MSRS12。MyInstance
注册表还维护实例 ID 到实例名的映射。 实例 ID 到实例名的映射按如下方式维护:
[HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSQL Server\Instance Names\SQL]“InstanceName”=“MSSQL12”
[HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSQL Server\Instance Names\OLAP]“InstanceName”=“MSAS12”
[HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSQL Server\Instance Names\RS]“InstanceName”=“MSRS12”
指定文件路径
安装过程中,可以更改下列功能的安装路径:
只有具有用户可配置目标文件夹的功能,安装路径才会显示在安装程序中:
组件 | 默认路径1、2 | 可配置3 或固定路径 |
---|---|---|
数据库引擎 服务器组件 | \Program Files\MicrosoftSQL Server\MSSQL12。<InstanceID> |配置 | |
数据库引擎 数据文件 | \Program Files\MicrosoftSQL Server\MSSQL12。<InstanceID> |配置 | |
Analysis Services 服务器 | \Program Files\MicrosoftSQL Server\MSAS12。<InstanceID> |配置 | |
Analysis Services 数据文件 | \Program Files\MicrosoftSQL Server\MSAS12。<InstanceID> |配置 | |
Reporting Services 报表服务器 | \Program Files\MicrosoftSQL Server\MSRS12。<InstanceID>\Reporting Services\ReportServer\Bin|配置 | |
Reporting Services 报表管理器 | \Program Files\MicrosoftSQL Server\MSRS12。<InstanceID>\Reporting Services\ReportManager |固定路径 | |
Integration Services | <安装 Directory>\120\DTS |可配置4 | |
客户端组件(bcp.exe 和 sqlcmd.exe 除外) | <安装 Directory>\120\Tools |可配置4 | |
客户端组件(bcp.exe 和 sqlcmd.exe) | <Install Directory>\Client SDK\ODBC\110\Tools\Binn | 固定路径 |
复制和服务器端 COM 对象 | <drive>:\Program Files\Microsoft SQL Server\120\COM\5 | 固定路径 |
数据转换运行时引擎、数据转换管道引擎和命令提示符实用工具的 dtexec Integration Services 组件 DLL |
<drive>:\Program Files\Microsoft SQL Server\120\DTS\Binn | 固定路径 |
为 Integration Services | <drive>:\Program Files\Microsoft SQL Server\120\DTS\Connections | 固定路径 |
Integration Services 支持的每种类型枚举器的 DLL | <drive>:\Program Files\Microsoft SQL Server\120\DTS\ForEachEnumerators | 固定路径 |
SQL Server 浏览器服务、WMI 提供程序 | <drive>:\Program Files\Microsoft SQL Server\120\Shared |固定路径 | |
所有 SQL Server | <drive>:\Program Files\Microsoft SQL Server\120\Shared |固定路径 |
1确保 \Program Files\MicrosoftSQL Server\ 文件夹受到有限权限的保护。
2这些位置的默认驱动器是 systemdrive,通常为驱动器 C。
3子功能的安装路径由父功能的安装路径确定。
4Integration Services 和客户端组件之间共享单个安装路径。 更改一个组件的安装路径会同时更改其他组件的安装路径。 后续安装将组件安装到与原始安装相同的位置。
5此目录由计算机上的所有 SQL Server 实例使用。 如果对计算机上的任何实例应用更新,对此文件夹中的文件所做的任何更改都会影响计算机上的所有实例。 向现有安装添加功能时,不能更改以前安装的功能的位置,也不能为新功能指定该位置。 必须将其他功能安装到安装程序已建立的目录,或卸载并重新安装产品。
注意
对于群集配置,必须选择在群集的每个节点上都可用的本地驱动器。
当在安装过程中为服务器组件或数据文件指定安装路径时,安装程序除了为程序和数据文件使用指定的位置外,还使用实例 ID。 安装程序不会将实例 ID 用于工具和其他共享文件。 安装程序也不会将任何实例 ID 用于 Analysis Services 程序和数据文件,尽管它会将实例 ID 用于 Analysis Services 存储库。
如果为 数据库引擎 功能设置了安装路径,则对于此次安装, SQL Server 安装程序会将该路径用作所有特定于实例的文件夹(包括 SQL 数据文件)的根目录。 在这种情况下,如果将根设置为“C:\Program Files\MicrosoftSQL Server\MSSQL12。<InstanceName>\MSSQL\“,特定于实例的目录将添加到该路径的末尾。
在 SQL Server 安装向导(安装程序用户界面模式)中选择使用 USESYSDB 升级功能的客户会很容易将产品安装到递归文件夹结构中。 例如, <SQLProgramFiles>\MSSQL12\MSSQL\MSSQL10_50\MSSQL\Data\。 这时,为了使用 USESYSDB 功能,请为 SQL 数据文件功能而非 数据库引擎 功能设置安装路径。
注意
数据文件始终应位于名为 Data 的子目录中。 例如,指定 C:\Program Files\MicrosoftSQL Server\MSSQL12。<InstanceName>\,用于在 C:\Program Files\MicrosoftSQL Server\MSSQL12 下找到数据文件时,指定升级期间系统数据库数据目录的根路径。<InstanceName>\MSSQL\Data。