SQL Server 的預設和具名執行個體的檔案位置

適用于:yesSQL Server (所有支援的版本) - 僅限 Windows

SQL Server 的安裝是由一或多個個別實例所組成。 實例,不論是預設還是具名,都有自己的程式與資料檔案集,以及電腦上所有 SQL Server 實例之間共用的一組通用檔案。

對於包含 Database Engine、Analysis Services 和 Reporting Services 的 SQL Server 實例,每個元件都有一組完整的資料和可執行檔,以及所有元件共用的一般檔案。

為了隔離每個元件的安裝位置,系統會針對指定 SQL Server 實例內的每個元件產生唯一的實例識別碼。

重要

程式檔和資料檔案不能安裝在抽取式磁碟機以及使用壓縮的檔案系統上、不能安裝在系統檔案所在的目錄中,也不能安裝在容錯移轉叢集執行個體上的共用磁碟機。

您可能需要設定掃描軟體,例如防毒和反間諜軟體應用程式,以排除 SQL Server 資料夾和檔案類型。 如需詳細資訊,請參閱下列支援文章:Antivirus software on computers running SQL Server (執行 SQL Server 之電腦上的防毒軟體)。

系統資料庫 (master、model、MSDB 和 tempdb) ,而 Database Engine 使用者資料庫可以使用伺服器訊息區 (SMB) 檔案伺服器作為儲存體選項來安裝。 這適用于 (FCI) 的 SQL Server 獨立和 SQL Server 容錯移轉叢集安裝。 如需詳細資訊,請參閱 將 SQL Server 與 SMB Fileshare 當做儲存選項一起安裝

請勿刪除下列任何一個目錄或是其內容:Binn、Data、Ftdata、HTML 或 1033。 如有必要,您可以刪除其他目錄;不過,您可能無法在卸載再重新安裝 SQL Server 的情況下擷取任何遺失的功能或資料。 請勿刪除或修改 HTML 目錄中的任何 .htm 檔。 SQL Server 工具需要它們才能正常運作。

所有 SQL Server 執行個體的共用檔案

單一電腦上所有實例所使用的一般檔案都會安裝在資料夾 <磁片磁碟機> :\Program Files\Microsoft SQL Server\nnn\。 <驅動>是安裝元件的磁碟機號。 預設值通常是磁片磁碟機 C。 nnn 會識別版本。 下表識別了路徑的版本。 {nn} 是實例識別碼和登錄路徑中使用的版本值。

版本 *nnn* {nn}
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 安裝程式期間,會為每個伺服器元件產生實例識別碼。 此 SQL Server 版本中的伺服器元件是 Database Engine、Analysis Services 和 Reporting Services。

預設執行個體識別碼是使用以下格式建構的:

  • 適用于 Database Engine 的 MSSQL,後面接著主要版本號碼,後面接著底線和次要版本,如果適用,後面接著句號,後面接著實例名稱。

  • MSAS for Analysis Services,後面接著主要版本號碼,並在適用時加上底線和次要版本,後面接著句號,後面接著實例名稱。

  • 適用于 Reporting Services 的 MSRS,後面接著主要版本號碼,並在適用時加上底線和次要版本,後面接著句號,後面接著實例名稱。

此 SQL Server 版本中預設實例識別碼的範例如下所示:

  • MSSQL{nn}。SQL Server 預設實例的 MSSQLSERVER。

  • MSAS{nn}。SQL Server Analysis Services 預設實例的 MSSQLSERVER。

  • MSSQL{nn}。名為 「MyInstance」 之 SQL Server 具名實例的 MyInstance。

包含 Database Engine 和 Analysis Services 的 SQL Server 具名實例目錄結構,名為 「MyInstance」,並安裝至預設目錄,如下所示:

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

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

您可以為執行個體識別碼指定任何值,但是請避免特殊字元和保留關鍵字。

您可以在 SQL Server 安裝程式期間指定非預設實例識別碼。 如果使用者選擇變更預設安裝目錄, < 則會使用自訂路徑 > \MicrosoftSQL Server,而不是 \{Program Files}\MicrosoftSQL Server。 請注意,不支援以底線 (_) 為開頭或是包含數字符號 (#) 或貨幣符號 ($) 的執行個體識別碼。

注意

Integration Services 和用戶端元件無法感知實例,因此不會指派實例識別碼。 根據預設,非實例感知元件會安裝到單一目錄: <drive> :\Program Files\Microsoft SQL Server\nnn\。 變更某個共用元件的安裝路徑也會變更其他共用元件的安裝路徑。 後續安裝會將非執行個體感知的元件安裝到與原始安裝相同的目錄。

SQL Server Analysis Services 是唯一支援安裝後重新命名實例的 SQL Server 元件。 如果 Analysis Services 的實例已重新命名,實例識別碼將不會變更。 當執行個體重新命名完成之後,目錄和登錄機碼將會繼續使用安裝期間所建立的執行個體識別碼。

登錄區是在 HKLM\Software\Microsoft\MicrosoftSQL Server\ <Instance_ID> 下建立,以供實例感知元件使用。 例如,

  • HKLM\Software\Microsoft\MicrosoftSQL Server\MSSQL{nn}。MyInstance

  • HKLM\Software\Microsoft\MicrosoftSQL Server\MSAS{nn}。MyInstance

  • HKLM\Software\Microsoft\MicrosoftSQL Server\MSRS{nn}。MyInstance

登錄也會維護執行個體識別碼到執行個體名稱的對應。 執行個體識別碼到執行個體名稱的對應維護如下:

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

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSQL Server\Instance Names\OLAP]「 < InstanceName > 」=「MSAS{nn}」

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSQL Server\Instance Names\RS]「 < InstanceName > 」=「MSRS{nn}」

指定檔案路徑

在安裝期間,您可以變更下列功能的安裝路徑:

只有具有使用者可設定目的資料夾的功能,其安裝路徑才會顯示在安裝程式中:

元件 預設路徑 可設定或固定路徑
Database Engine 伺服器元件 \Program Files\MicrosoftSQL Server\MSSQL{nn}。 <InstanceID > \ 可設定
Database Engine 資料檔案 \Program Files\MicrosoftSQL Server\MSSQL{nn}。 <InstanceID > \ 可設定
Analysis Services 伺服器 \Program Files\MicrosoftSQL Server\MSAS{nn}。 <InstanceID > \ 可設定
Analysis Services 資料檔案 \Program Files\MicrosoftSQL Server\MSAS{nn}。 <InstanceID > \ 可設定
Reporting Services 報表伺服器 \Program Files\MicrosoftSQL Server\MSRS{nn}。 <InstanceID > \Reporting Services\ReportServer\Bin\ 可設定
Reporting Services 報表管理員 \Program Files\MicrosoftSQL Server\MSRS{nn}。 <InstanceID > \Reporting Services\ReportManager\ 固定路徑
Integration Services <安裝目錄 >\nnn\DTS\ 1 可設定
用戶端元件 (bcp.exe 和 sqlcmd.exe 除外) <安裝目錄 >\nnn\Tools\ 1 可設定
用戶端元件 (bcp.exe 和 sqlcmd.exe) <安裝 Directory > \Client SDK\ODBC\nnn\Tools\Binn 固定路徑
複寫和伺服器端 COM 物件 <drive> :\Program Files\Microsoft SQL Server\nnn\COM\ 2 固定路徑
資料轉換執行時間引擎、資料轉換管線引擎和 dtexec 命令提示字元公用程式的 Integration Services 元件 DLL <drive> :\Program Files\Microsoft SQL Server\nnn\DTS\Binn 固定路徑
提供 Integration Services 受控連線支援的 DLL <drive> :\Program Files\Microsoft SQL Server\nnn\DTS\Connections 固定路徑
Integration Services 支援之每種列舉值的 DLL <drive> :\Program Files\Microsoft SQL Server\nnn\DTS\ForEachEnumerators 固定路徑
SQL Server Browser 服務、WMI 提供者 <drive> :\Program Files\Microsoft SQL Server\nnn\Shared\ 固定路徑
在所有 SQL Server 實例之間共用的元件 <drive> :\Program Files\Microsoft SQL Server\nnn\Shared\ 固定路徑

警告

請確定 \Program Files\MicrosoftSQL Server\ 資料夾受到有限的許可權保護。

請注意,檔案位置的預設磁碟機是 systemdrive,通常是磁碟機 C。子功能的安裝路徑由父功能的安裝路徑來決定。

1 Integration Services 與用戶端元件之間共用單一安裝路徑。 變更一個元件的安裝路徑也會變更其他元件的安裝路徑。 後續安裝會將元件安裝到與原始安裝相同的位置。

2 電腦上所有 SQL Server 實例都會使用此目錄。 如果您將更新項目套用至電腦的任何執行個體,則此資料夾之檔案若有任何變更,電腦上所有執行個體都會受到影響。 將功能加入至現有的安裝時,您不能變更先前安裝之功能的位置,也不能指定新功能的位置。 您必須將其他功能安裝到安裝程式所建立的目錄中,或解除安裝後再重新安裝本產品。

注意

如果是叢集組態,您必須選取該叢集的每一個節點上可用的本機磁碟機。

當您在安裝期間指定伺服器元件或資料檔案的安裝路徑時,除了程式和資料檔案的指定位置之外,安裝程式還會使用執行個體識別碼。 安裝程式不會使用工具和其他共用檔案的執行個體識別碼。 安裝程式也不會針對 Analysis Services 程式和資料檔案使用任何實例識別碼,雖然它確實使用 Analysis Services 存放庫的實例識別碼。

如果您設定 Database Engine 功能的安裝路徑,SQL Server 安裝程式會使用該路徑作為該安裝之所有實例特定資料夾的根目錄,包括 SQL 資料檔案。 在此情況下,如果您將根目錄設定為 「C:\Program Files\MicrosoftSQL Server\MSSQL{nn}。 <InstanceName > \MSSQL\「,實例特定目錄會新增至該路徑的結尾。

選擇在 SQL Server 安裝精靈中使用 USESYSDB 升級功能的客戶 (安裝程式 UI 模式) 可以輕鬆地自行進入產品安裝至遞迴資料夾結構的情況。 例如, <SQLProgramFiles> \MSSQL14\MSSQL\MSSQL10_50\MSSQL\Data\。 相反地,若要使用 USESYSDB 功能,請設定 SQL 資料檔案功能的安裝路徑,而不是 Database Engine 功能。

注意

您應該可以在 Data 子目錄中找到資料檔案。 例如,指定 C:\Program Files\MicrosoftSQL Server\MSSQL{nn}。 <InstanceName > \ 可指定在 C:\Program Files\MicrosoftSQL Server\MSSQL{nn} 下找到資料檔案時,升級期間系統資料庫之資料目錄的根路徑。 <InstanceName > \MSSQL\Data。

另請參閱

Database Engine 組態 - 資料目錄
Analysis Services 組態 - 資料目錄