SQL Server 升級失敗,並傳回錯誤 4860
本文可協助您針對安裝 Microsoft SQL Server 累積更新 (CU) 或 Service Pack (SP) 時所發生的錯誤 4860 進行疑難解答。 執行資料庫升級文本時發生錯誤。
徵兆
當您安裝適用於 SQL Server 的 CU 或 SP 時,安裝程式會報告下列錯誤:
等候 Database Engine 復原控制代碼失敗。 請檢查 SQL Server 錯誤記錄檔以了解潛在原因。
當您檢查 SQL Server 錯誤記錄檔時,您會注意到如下的錯誤訊息:
Error: 4860, Severity: 16, State: 1.
Cannot bulk load. The file "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx"<Filename> does not exist.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 4860, state 1, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it.For more information about how to rebuild the master database, see SQL Server Books Online.
原因
如果您在套用 CU 或 SP 時,大量載入作業失敗,就會發生此錯誤。 因為缺少支援安裝檔案,所以會發生此情況。 如需在 CU 或 SP 安裝期間執行之資料庫升級腳本的詳細資訊,請參閱 針對套用更新時的升級腳本失敗進行疑難解答。
例如,如果安裝程式找不到 SqlTraceCollect.dtsx,它會報告類似下列項目的錯誤:
Error: 4860, Severity: 16, State: 1.
Cannot bulk load. The file "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx"
解決方法
若要解決 4860 錯誤,請遵循下列步驟:
使用追蹤旗標 (TF) 902 啟動 SQL Server。 如需詳細資訊,請參閱 使用追蹤旗標 902 啟動 SQL 的步驟。
根據修復失敗的 SQL Server 安裝中所述 的程式,修復 SQL Server 安裝。 或者,您可以從與 SQL Server 安裝相同的組建的不同系統複製遺失的檔案,並在安裝失敗的電腦上還原該檔案。
從啟動參數中移除 TF 902,然後重新啟動 SQL Server。 在 SQL Server 在沒有 TF 902 的情況下啟動之後,升級腳本會再次執行。
- 如果升級腳本順利完成,SP 或 CU 升級就會完成。 您可以檢查 SQL Server 錯誤記錄檔和啟動程式資料夾,以確認已完成的安裝。
- 如果升級腳本再次失敗,請檢查 SQL Server 錯誤記錄檔中是否有其他錯誤專案,然後針對新的錯誤進行疑難解答。