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

適用於:SQL Server - 僅限 Windows

SQL Server 的安裝由一個或多個不同的執行個體所組成。 不論是預設執行個體或具名執行個體,都會有自己的一組程式和資料檔案,以及在電腦上所有 SQL Server 執行個體之間共用的一組共同檔案。

對於包含資料庫引擎、Analysis Services和 Reporting Services 的 SQL Server 執行個體來說,每個元件都有一組完整的資料和可執行檔,以及所有元件共用的共同檔案。

為了隔離開每一個元件的安裝位置,會為給定的 SQL Server 執行個體內的每一個元件,產生唯一的執行個體識別碼。

重要

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

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

系統資料庫 (master、model、MSDB 和 tempDB) 與資料庫引擎使用者資料庫,可以用儲存選項的方式,與伺服器訊息區 (SMB) 檔案伺服器一起安裝。 這一點同時適用於 SQL Server 獨立和 SQL Server 容錯移轉叢集安裝 (FCI)。 如需詳細資訊,請參閱 將 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 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 安裝期間,系統會為每一個伺服器元件產生一個執行個體識別碼。 此 SQL Server 版本中的伺服器元件,是資料庫引擎、Analysis Services 和 Reporting Services。

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

  • 對資料庫引擎來說是 MSSQL,後面接著主要版本號碼、底線、次要版本 (如果適用的話) 和句點,然後再接著執行個體名稱。

  • 對 Analysis Services 來說是 MSAS,後面接著主要版本號碼、底線、次要版本 (如果適用的話) 和句點,然後再接著執行個體名稱。

  • 對 Reporting Services 來說是 MSRS,後面接著主要版本號碼、底線、次要版本 (如果適用的話) 和句點,然後再接著執行個體名稱。

此 SQL Server 版本中的預設執行個體識別碼範例如下:

  • SQL Server 的預設執行個體為 MSSQL{nn}.MSSQLSERVER。

  • SQL Server Analysis Services 的預設執行個體為 MSAS{nn}.MSSQLSERVER。

  • SQL Server 具名 "MyInstance" 的具名執行個體是 MSSQL{nn}.MyInstance。

包含資料庫引擎和 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 安裝期間,指定非預設的執行個體識別碼。 如果使用者選擇變更預設安裝目錄,可以不要使用 \{Program Files}\Microsoft SQL Server,而改用 <自訂路徑>\Microsoft SQL Server。 請注意,不支援以底線 (_) 為開頭或是包含數字符號 (#) 或貨幣符號 ($) 的執行個體識別碼。

注意

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

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

可感知執行個體的元件,其登錄區會建立在 HKLM\Software\Microsoft\Microsoft SQL Server\<執行個體識別碼> 之下。 例如,

  • 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

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

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "<執行個體名稱>"="MSSQL{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "<執行個體名稱>"="MSAS{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "<執行個體名稱>"="MSRS{nn}"

指定檔案路徑

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

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

元件 預設路徑 可設定或固定路徑
資料庫引擎伺服器元件 \Program Files\Microsoft SQL Server\MSSQL{nn}.<執行個體識別碼>\ 可設定
資料庫引擎資料檔案 \Program Files\Microsoft SQL Server\MSSQL{nn}.<執行個體識別碼>\ 可設定
Analysis Services 伺服器 \Program Files\Microsoft SQL Server\MSAS{nn}.<執行個體識別碼>\ 可設定
Analysis Services 資料檔案 \Program Files\Microsoft SQL Server\MSAS{nn}.<執行個體識別碼>\ 可設定
Reporting Services 報表伺服器 \Program Files\Microsoft SQL Server\MSRS{nn}.<執行個體識別碼>\Reporting Services\ReportServer\Bin\ 可設定
Reporting Services 報表管理員 \Program Files\Microsoft SQL Server\MSRS{nn}.<執行個體識別碼>\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 固定路徑
資料轉換執行階段引擎、資料轉換管線引擎和 dtexec 命令提示字元公用程式的 Integration Services 元件 DLL <磁碟機>:\Program Files\Microsoft SQL Server\nnn\DTS\Binn 固定路徑
為 Integration Services 提供受控連線支援的 DLL <磁碟機>:\Program Files\Microsoft SQL Server\nnn\DTS\Connections 固定路徑
Integration Services 支援的每種列舉程式類型的 DLL <磁碟機>:\Program Files\Microsoft SQL Server\nnn\DTS\ForEachEnumerators 固定路徑
SQL Server Browser 服務,WMI 提供者 <磁碟機>:\Program Files\Microsoft SQL Server\nnn\Shared\ 固定路徑
所有 SQL Server 執行個體之間共用的元件 <磁碟機>:\Program Files\Microsoft SQL Server\nnn\Shared\ 固定路徑

警告

請確定 \Program Files\Microsoft SQL Server\ 資料夾有權限限制的保護。

檔案位置的預設磁碟機是系統磁碟機,一般來說是磁碟機 C。而子功能的安裝路徑由父功能的安裝路徑來決定。

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

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

注意

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

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

如果設定了資料庫引擎功能的安裝路徑,SQL Server 安裝程式就會使用該路徑作為此安裝作業所有執行個體專用資料夾的根目錄,包括 SQL 資料檔案在內。 在此情況下,如果將根目錄設定為 "C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<執行個體名稱>\MSSQL\",則執行個體專用目錄會加到該路徑的結尾處。

選擇在 SQL Server 安裝精靈 (安裝程式 UI 模式) 中使用 USESYSDB 升級功能的客戶,很容易讓自己進入產品會安裝到遞迴資料夾結構的情況。 例如,<SQLProgramFiles>\MSSQL14\MSSQL\MSSQL10_50\MSSQL\Data\。 若要改用 USESYSDB 功能,請設定 SQL 資料檔案功能 (而非資料庫引擎功能) 的安裝路徑。

注意

您應該可以在 Data 子目錄中找到資料檔案。 例如,指定 C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<執行個體名稱>\,可指定在升級期間於 C:\Program Files\Microsoft SQL Server\MSSQL{nn}.<執行個體名稱>\MSSQL\Data 下發現資料檔案時,系統資料庫的資料目錄所使用的根路徑。

另請參閱

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