套用到
SQL Server 2008 R2

徵兆

請試想下列案例:

  • 你有一個 2008 SQL Server R2 Microsoft實例,它承載了 UCP) (使用者控制點。

  • 你在實例上安裝 SQL Server 2008 R2 的累積更新套件 1。

在這種情況下,安裝成功了。 然而,SQL Server 服務無法啟動。 此外,以下錯誤訊息會記錄在 SQL Server 錯誤日誌檔案中:

<日期> <時間> spid7s 執行 [sysutility_mdw].sysutility_ucp_core.sp_initialize_mdw_internal<日期><時間> spid7s SQL Server阻擋對元件「Agent XPs」程序「sys.xp_qv」的存取,因為該元件在該伺服器的安全設定中已被關閉。 系統管理員可透過使用 sp_configure 啟用「代理 XP」。 欲了解更多關於啟用「代理 XPs」的資訊,請參閱 SQL Server Books Online 中的「Surface Area Configuration」。<日期><時間> spid7s 錯誤:15281,嚴重度:16,狀態:1。<日期><時間> spid7s SQL Server阻擋了對元件「Agent XPs」程序「sys.xp_qv」的存取,因為該元件在該伺服器的安全設定中被關閉。 系統管理員可透過使用 sp_configure 啟用「代理 XP」。 欲了解更多關於啟用「代理 XPs」的資訊,請參閱 SQL Server Books Online 中的「Surface Area Configuration」。<日期><時間> spid7s 誤差:912,嚴重程度:21,狀態:2。<日期><時間> spid7s 腳本層級升級失敗,因為升級步驟「sqlagent100_msdb_upgrade.sql」遇到錯誤 15281,狀態 1,嚴重度 16。 這是嚴重的錯誤狀況,可能會干擾正常運作,資料庫將被關閉。 如果錯誤發生在升級「主」資料庫時,整個 SQL Server 實例將無法啟動。 檢查先前的錯誤日誌條目是否有錯誤,採取適當的修正措施,並重新啟動資料庫,讓腳本升級步驟順利完成。<日期><時間> spid7s 錯誤:3417,嚴重度:21,狀態:3。<日期><時間> spid7s 無法恢復主資料庫。 SQL Server 無法執行。 從完整備份還原主備份、修復或重建。 欲了解更多如何重建主資料庫的資訊,請參閱 SQL Server Books Online。<日期><時間> spid7s SQL 追蹤因伺服器關閉而停止。 追蹤識別碼 = 「1」。 這只是一則資訊訊息;不需要使用者操作。

此問題也可能發生在你將SQL Server 2008 R2 版本候選實例 (RC) (該 RC 承載 UCP 的 2008 SQL Server R2 版本時。

原因

此問題發生於 SQL Server 2008 R2 執行 msdb 資料庫升級腳本時,未啟用 Agent XPs 選項。這個腳本會在 SQL Server 服務啟動時執行。 腳本執行一個與 UCP 相關的儲存程序。 此外,儲存程序還要求啟用 Agent XPs 選項。

解決方案

累積更新資訊

這個問題的修正最早是在累積更新 2 中釋出的。 欲了解更多如何取得 SQL Server 2008 R2 累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

2072493 SQL Server 2008 R2 累積更新套件 2 備註 由於建置是累積式,每個新修正版本都包含先前 SQL Server 2008 R2 修正版本中所有的熱修正與安全修正。 我們建議您考慮套用包含此熱修正的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 SQL Server 2008 R2 版本是在 SQL Server 2008 R2 發布後釋出的

因應措施 

注意:如果你還沒安裝累積更新套件 1,應該依照「解決」部分安裝累積更新套件 2。 此問題不存在於 SQL Server 2008 R2 的累積更新套件 2 及更新版本中。如果您在安裝累積更新套件 1 後遇到此問題,請依照以下步驟來解決:

  1. 在 SQL Server 2008 R2 實例上啟用追蹤旗標 902。 如果要執行這項操作,請依照下列步驟執行:

    1. 開啟 SQL Server Configuration Manager。

    2. 在 SQL Server 組態管理員中,點選 SQL Server 服務

    3. 雙擊 SQL Serverservice。

    4. SQL Server 屬性對話框中,點選進階標籤。

    5. 點擊 進階 標籤,找到 啟動參數 項目。

    6. 在現有字串值末加上 ;-T902,然後點擊 確定

  2. 右鍵點擊 SQL Serverservice,然後點 選開始

  3. 如果 SQL Server Agent 服務正在執行,請右鍵點擊 SQL Server Agent 服務,然後點擊停止

  4. 打開 SQL Server Management Studio,然後連接到 SQL Server 2008 R2 的實例。

  5. 執行以下語句:

    執行sp_configure「進階表演」1人; 重新配置; EXEC sp_configure「允許更新」,0; 重新配置; 執行sp_configure「特工經驗值」1人; 重新配置; 走吧

  6. 在 SQL Server 組態管理員中,右鍵點擊 SQL Serverservice,然後點選停止

  7. 移除 SQL Server 2008 R2 實例上的追蹤旗標 902。 要做到這點,請刪除你在步驟 1f 中更新的字串值中的 ;-T902。

  8. 右鍵點擊 SQL Serverservice,然後點 選開始

  9. 右鍵點擊 SQL Server Agent 服務,然後點選開始

  10. 在 SQL Server Management Studio 中,重新連接 SQL Server 2008 R2 實例。

  11. 在物件總管中,展開管理,右鍵點擊資料收集,然後點選啟用資料收集注意:若資料收集已啟用,啟用資料收集項目將無法使用。

注意:當您在 SQL Server Management Studio 中連接 SQL Server 2008 R2 實例時,可能會收到以下錯誤訊息:

錯誤:18401登入失敗,使用者 '<登入名稱>'。 原因:伺服器處於腳本升級模式。 目前只有管理員能連線。

此錯誤訊息表示 SQL Server 2008 R2 正在完成累積更新套件 1 的安裝。 如果你收到這個錯誤訊息,請等幾分鐘,然後再重新連接到 SQL Server 2008 R2 的實例。

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考資料

欲了解 SQL Server 的增量服務模型,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

935897 SQL Server 團隊提供增量式服務模型,以提供針對回報問題的熱修正。欲了解更多關於 SQL Server 更新命名結構的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:

822499 Microsoft SQL Server 軟體更新套件的命名結構 欲了解更多軟體更新術語,請點擊以下文章編號以瀏覽Microsoft知識庫中的文章:

824684 用來描述軟體更新的標準術語Microsoft描述

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。