共用方式為


已知的 SQL Server 2012 安裝和移轉問題

本文說明 SQL Server 2012 安裝和移轉問題。

原始產品版本:SQL Server
原始 KB 編號: 2681562

SQL Server 2012 特有的安裝和移轉問題

未啟用 .NET Framework 3.5 時可能發生的 SQL Server 2012 安裝問題

問題 1 - 未完成的 SQL 故障轉移叢集或獨立安裝

徵兆

在尚未安裝 .NET Framework 3.5 的伺服器或受因特網存取限制的伺服器上,SQL Server 2012 安裝程式不會安裝相依於 .NET Framework 3.5 的元件。 因此,SQL Server 2012 安裝可能不完整。

注意

Windows 8.1 或 Windows Server 2012 R2 不會讓您繼續安裝。

未啟用 .NET Framework 時,SQL Server 2012 安裝期間可能會顯示類似下列的錯誤訊息。

SQL Server 2012 安裝錯誤訊息的螢幕快照:啟用 Windows 功能時發生錯誤。

預護

若要避免此問題,請先在叢集的所有節點上或獨立伺服器上啟用 .NET Framework 3.5,再安裝 SQL Server 2012。

解決方法

若要在獨立伺服器上解決此問題,請啟用 .NET Framework 3.5,然後再次執行安裝程式以新增其他功能。

若要在叢集環境中解決此問題,請卸載不完整的 SQL Server 2012 實例、啟用 .NET Framework 3.5,然後重新安裝 SQL Server 2012。

注意

在叢集環境中,您無法再次執行 SQL Server 2012 安裝程式來新增略過的功能。

若要在獨立伺服器上解決此問題,請啟用 .NET Framework 3.5,然後再次執行 SQL Server 安裝程式。

問題 2 - 系統會提示使用者下載並安裝 .NET Framework 3.5

徵兆

當使用者嘗試安裝 CU1 或 CU2 時,系統可能會提示使用者下載並安裝 .NET Framework 3.5。 即使已安裝的元件不相依於 .NET Framework 3.5,還是會發生此問題。

在此情況下,您可能會收到類似下列的錯誤訊息。

.Net Framework 3.5 安裝錯誤訊息的螢幕快照:無法安裝下列功能。

原因

這是 SQL Server 2012 CU1 和 CU2 中的已知問題。

注意

此問題已在 SQL Server 2012 和更新版本的累積更新 3 中修正。

預護

若要避免此問題,請執行下列其中一項動作:

  • 啟用 .NET Framework 3.5、套用 CU1 更新套件或 CU2 更新套件,然後停用 .NET Framework 3.5。

    注意

    如果您的安裝不包含相依於 .NET Framework 3.5 的元件,您應該只停用 .NET Framework 3.5。

  • 從包含 SQL Server 2012 和 CU3 或更新版本的滑行安裝套件安裝 SQL Server 2012。

  • 套用累積更新 3 或更新版本。 如需詳細資訊,請參閱 SQL Server 2012 發行后發行的 SQL Server 2012 組建。

問題 3 - Windows 應用程式相容性模式警示會在無訊息安裝期間顯示

徵兆

在 Windows 8.1、Windows 8、Windows Server 2012 R2、Windows Server 2012、Windows 10 和 Windows Server 2016 中,.NET Framework 是隨選功能 (FOD) 元件。 此外,Windows 10、Windows 8.1 和 Windows 8 系統原則和 Windows Server 2016、Windows Server 2012 R2 和 Windows Server 2012 系統原則會要求使用者在啟用 FOD 元件時收到警示。

注意

根據預設,Windows 8 和 Windows Server 2012 中會啟用 .NET Framework 4.0。 此外,Windows 8.1 和 Windows Server 2012 R2 中已啟用 .NET Framework 4.5,而 Windows 10 和 Window Server 2016 會啟用 .NET Framework 4.6。 不過,.NET Framework 3.5 已停用。

因此,提示使用者在無訊息安裝期間下載並安裝 .NET Framework 3.5 的程式相容性模式警告可能會顯示。 無法隱藏這些程式相容性警示。 警告的螢幕快照如下所示:

Windows Server 2012 R2 和 Windows Server 2012 - 完整伺服器

完整伺服器上的 .Net Framework 3.5 安裝錯誤訊息螢幕快照:無法安裝下列功能。

Windows Server 2012 R2 和 Windows Server 2012 - Server Core

無法透過 Windows 功能錯誤自動安裝角色和功能的螢幕快照。

預護

若要避免此問題,用戶可以在執行無訊息安裝之前啟用 .NET Framework 3.5。

其他 SQL Server 2012 安裝問題

問題 1:當您嘗試安裝第二個 SQL Server 2012 實例時,可能會產生 .NET Framework 未處理的例外狀況

徵兆

請參考下列案例:

  • 您可以安裝 SQL Server 2012 的實例。
  • 當您安裝 SQL Server 2012 實例時,會建立 .NET Framework 4.0 用戶組態檔。 此外,安裝期間會啟用 .NET Framework 3.5。
  • 您嘗試安裝第二個 SQL Server 2012 實例。

在此案例中,可能會產生未處理的例外狀況。 您可能會收到類似以下的錯誤訊息︰

建立 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的組態區段處理程式時發生錯誤:無法載入檔案或元件系統、Version=4.0.0.0、Culture=neutral、PublicKeyToken=xxxxx 或其其中一個相依性。 系統找不到指定的檔案。 (C:\Users\Administrator\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0\user.config)

原因

在 Windows 8 和 Windows Server 2012 中,發生此問題的原因是 Windows 8 和 Windows Server 2012 預設會啟用 .NET Framework 4.0。 因此,當您安裝 SQL Server 2012 時,會建立 .NET Framework 4.0 用戶組態檔。 此外,安裝期間會啟用 .NET Framework 3.5。

當您嘗試安裝第二個 SQL Server 2012 實例時,安裝會使用 .NET Framework 2.0,因為已安裝 .NET Framework 3.5。 這與使用者組態檔中的設定衝突會導致未處理的例外狀況。

在 Windows 8.1 和 Windows Server 2012 R2 中,發生此問題的原因是 Windows 8.1 和 Windows Server 2012 R2 預設會啟用 .NET Framework 4.5。 因此,當您安裝 SQL Server 2012 時,會建立 .NET Framework 4.5 使用者組態檔。 此外,安裝期間會啟用 .NET Framework 3.5。

當您嘗試安裝第二個 SQL Server 2012 實例時,安裝會使用 .NET Framework 2.0,因為已安裝 .NET Framework 3.5。 這與用戶設定中的設定衝突會導致未處理的例外狀況。

在 Windows 10 和 Windows Server 2016 中,發生此問題的原因是預設會啟用 .NET Framework 4.6。 因此,當您安裝 SQL Server 2012 時,會建立 .NET Framework 4.6 使用者組態檔。 此外,安裝期間會啟用 .NET Framework 3.5。

當您嘗試安裝第二個 SQL Server 2012 實例時,安裝會使用 .NET Framework 2.0,因為已安裝 .NET Framework 3.5。 這與使用者組態檔中的設定衝突會導致未處理的例外狀況。

預護

若要避免此問題,請先刪除 下列資料夾中的User.config 檔案,再安裝第二個SQL Server 2012 實例:

%userprofile%\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0

解決方法

注意

此問題已修正在 SQL Server 2012 Service Pack 1 (SP1) Microsoft。

如果第一個實例已安裝 Service Pack 1,就不應該遇到此問題。 如果您無法在第一個實例上安裝 Service Pack 1,請執行下列其中一項:

  • 從包含 SQL Server 2012 和 Microsoft SQL Server 2012 Service Pack 1 的滑行安裝套件安裝第二個 SQL Server 2012 實例。 安裝新實例之後,您必須套用 SQL Server 2012 Service Pack 4 或更新版本。 如需詳細資訊,請參閱 如何取得 SQL Server 2012 的最新 Service Pack。

  • 使用 SQL Server 2012 SP4 檔案預先修補,然後安裝 SQL Server 2012:

    • 在未安裝 SQL Server 2012 RTM 的電腦上:

      1. 下載並安裝 SQL Server 2012 SP4

      2. 在 [授權條款] 畫面上,按兩下 [我接受授權條款] 複選框,然後選取 [下一步]。

        注意

        安裝程式檔案已安裝,安裝精靈會自動關閉。

      3. 確認安裝。 若要這樣做,請啟動 [新增或移除程式 ],並確認已列出下列專案:

        • Microsoft SQL Server 2012 安裝程式,版本 11.0.7001.0
        • Microsoft Visual C++的兩個專案。
    • 在具有現有 SQL Server 2012 RTM 實體的電腦上:

      1. 下載並安裝 SQL Server 2012 SP4

      2. 將SP4檔案解壓縮到本機資料夾。 例如,將SP4檔案解壓縮至 c:\sp4

        注意

        在此案例中,您無法執行 SQL Server 2012 SP4 安裝程式。

      3. 在您解壓縮 SP4 檔案的資料夾中,按兩下 SqlSupport.msi ,然後選取[ ]。

      4. 確認安裝。 若要這樣做,請啟動 [新增或移除程式 ],並確認已列出 Microsoft sql Server 2012 安裝程式 11.0.7001.0 版。

        注意

        請查看 SQL Server 2012 SP4 下載頁面上的 [安裝指示] 區段,以判斷伺服器的正確下載。

問題 2:您無法在 Windows Server 2012 R2 或 Windows Server 2012 上啟用檔案串流共用功能安裝 SQL Server 2012 故障轉移叢集

徵兆

當您嘗試安裝新的 SQL Server 2012 故障轉移叢集,並在 FileStream Windows Server 2012 上啟用共用功能時,可能會收到類似下列的錯誤訊息:

資源 'SQL Server Filestream share (FILESTREAM)' 的私用屬性 'Security0x20Descriptor' 設定為值 'System.Byte[]' 時發生錯誤。 錯誤:無法從提供者呼叫叢集程序代碼。 例外狀況訊息:找不到。

原因

之所以發生此問題,是因為 Windows Server 2012 中已卸除安全性描述元屬性的支援。

預護

若要避免此問題,請安裝故障轉移叢集, FileStream 但未啟用共用功能。 安裝完成之後,請啟用 FileStream [共用] 功能。

解決方法

注意

此問題已修正在 SQL Server 2012 Service Pack 1 (SP1) Microsoft。

若要解決此問題,請使用 [新增或移除程式] 卸載失敗的叢集實例,然後在未啟用共用功能的情況下 FileStream 安裝故障轉移叢集。 安裝完成之後,請啟用 FileStream [共用] 功能。

問題 3:SQL Server 2012 安裝期間發生錯誤:「嘗試載入格式不正確的程式」

徵兆

請參考下列案例:

  • 您可以安裝 64 位版本的 Windows 10、Windows 8.1 或 Windows 8。
  • 您嘗試在 Windows on-Windows (WoW) 模式中安裝 SQL Server 2012。
  • SQL Server 2012 安裝包含 Reporting Services。

在此案例中,安裝失敗。 此外,您會收到類似下列的錯誤訊息:

作業失敗,0x8007000B
嘗試載入了格式不正確的程式。

作業失敗錯誤訊息的螢幕快照。

預護

若要避免此問題,請在安裝 SQL Server 2012 之前,先使用 伺服器管理員 安裝 IIS ASP.NET 3.5 元件。 如需詳細資訊,請參閱 在 Windows 8 或 Windows Server 2012 中卸載 ASP.NET 4.5 之後,ASP.NET 2.0 和 ASP.NET 3.5 無法運作。

問題 4:您無法安裝 SQL Server 2012 Enterprise Edition 故障轉移叢集實例

徵兆

請參考下列案例:

  • 您可以執行下列其中一項動作:

    • 您可以建立包含 SQL Server 2012 和 CU1 的滑行安裝套件。
    • 在安裝 SQL Server 2012 之前,請先使用 CU1 預先修補。
  • 您可以使用 UIMODE=EnableUIOnServerCore 選項來安裝 SQL Server 2012

    在此案例中,安裝失敗。 您會收到類似下列的錯誤訊息。

    [功能規則] 頁面的螢幕快照,其中顯示 Windows Server Core 支援的功能檢查失敗。

    錯誤的詳細數據如下所示。

    此螢幕快照顯示 [規則檢查結果] 對話框中錯誤的詳細數據。

原因

發生此問題的原因是此功能 DQ 會在安裝期間隱含地與引擎元件一起選取。

注意

DQ Server Core 模式不支援此功能。

解決方法

注意

SQL Server 2012 RTM CU3 和 SQL Server 2012 Service Pack 1 中已修正此問題。

要解決此問題,請按照以下作業執行:

  • 建立包含 SQL Server 2012 和 CU3 的滑行安裝套件。
  • 執行 CU3 安裝套件,預先修補安裝程式支援檔案。

問題 5:當您嘗試將叢集節點升級至 SQL Server 2012 時發生錯誤訊息:「無法儲存資源 'SQL Network Name (<SQL Name>) 的通用屬性」

如需此問題以及如何解決此問題的詳細資訊,請參閱當您嘗試將叢集節點升級至 SQL Server 2012 時,無法儲存資源 'SQL Network Name ()' 的通用屬性」錯誤。

問題 6:當您使用 OpenSQLFileStream API 時發生錯誤訊息:「System.ComponentModel.Win32Exception (0x80004005):不支援要求」。

徵兆

請參考下列案例:

  • 您會在執行 Windows Server 2012 的伺服器上安裝 SQL Server 2008 R2 的實例。
  • 您將 SQL Server 2008 R2 實例升級至 SQL Server 2012 Service Pack 1 (SP1)。
  • 您可以使用 OpenSQLFileStream API。

在此情況下會收到類似下列的錯誤訊息:

System.ComponentModel.Win32Exception (0x80004005):不支援要求。

原因

發生此問題的原因是 SQL Server 2012 升級錯誤地刪除下列登錄機碼:

HKEY_LOCALMACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList\FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT

因應措施

若要解決此問題,請使用註冊表編輯器重新建立下列登錄機碼:

 HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList
 Dword: FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT
 Value: 0x92560

另請參閱