KB934458 - 修正:在 SQL Server 2005 組建 3042 到 3053 中,維護計畫中的 [檢查資料庫完整性] 任務和 [執行 T-SQL 陳述式] 任務在某些情況下可能會遺失資料庫內容

Applies To
Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Enterprise X64 Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Standard X64 Edition

錯誤 #:50001012 (SQL Hotfix)

症狀

在 Microsoft SQL Server 2005 Service Pack 2 (SP2) 中,維護計畫中的下列工作在某些情況下可能會遺失資料庫內容:

  • 檢查資料庫完整性
  • 執行 T-SQL 陳述式

例如,如果 [檢查資料庫完整性] 工作設定為檢查多個資料庫的完整性,則工作會重複檢查預設資料庫。

對於執行 T-SQL 陳述式工作,如果下列條件成立,就會發生此問題:

  • 執行 T-SQL 陳述式工作包含多個批次。

  • 批次會由 GO 陳述式分隔。

  • 沒有批次使用 USE 陳述式來指定資料庫。

  • 每個批次中的陳述式不包含資料庫名稱。

在此案例中,第二個批次和後續批次中的那些陳述式將會針對預設資料庫執行。

注意:您可以使用 SQL Server Profiler 確認此問題是否發生。 當您追蹤維護計畫執行情況時,請參閱 SQL Server Profiler 中的 [資料庫] 欄。

解決方式

這個問題會發生在 SQL Server 2005 組建 3042 到 3053 和 SQL Server 2005 組建 3150 到 3158 中。 如果您執行的是介於 3042 和 3053 之間的 SQL Server 2005 SP2 組建,請從 Microsoft 下載中心下載並安裝下列重大更新。

若要取得此更新的獨立套件,請前往 Microsoft Update Catalog 網站。

安裝此重大更新後,SQL Server 2005 的組建為 3054。

如需更多如何下載 Microsoft 技術支援檔案的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

119591 如何從線上服務取得Microsoft支援檔案 Microsoft 已對此檔案進行病毒掃描。 Microsoft 是利用發佈當日的最新病毒偵測軟體來掃描檔案。 檔案會儲存在安全性強化的伺服器上,以避免任何未經授權的變更。

檔案詳細資訊

此重大更新的英文版具有下表中所列 (或更新檔案屬性) 的檔案屬性。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換成當地時間。 若要查看 UTC 與當地時間的差異,請使用 [控制台] 中 [日期和時間] 項目的 [時區] 索引標籤。

SQL Server 2005 32 位元版本

檔案名稱 檔案版本 檔案大小 日期 時間 平台
Microsoft.sqlserver.maintenanceplantasks.dll 9.0.3054.0 296,304 23-Mar-2007 2,113 x86
Sqlaccess.dll 2005.90.3054.0 350,576 23-Mar-2007 2,113 x86
Sqlservr.exe 2005.90.3054.0 29,181,808 23-Mar-2007 2,113 x86

SQL Server 2005 x64 版本

檔案名稱 檔案版本 檔案大小 日期 時間 平台
Microsoft.sqlserver.maintenanceplantasks.dll 9.0.3054.0 296,304 23-Mar-2007 2,113 x86
Sqlaccess.dll 2005.90.3054.0 357,744 24-Mar-2007 02:40 x86
Sqlservr.exe 2005.90.3054.0 38,516,080 24-Mar-2007 02:40 x64

SQL Server 2005 Itanium 版本

檔案名稱 檔案版本 檔案大小 日期 時間 平台
Microsoft.sqlserver.maintenanceplantasks.dll 9.0.3054.0 296,304 23-Mar-2007 2,113 x86
Sqlaccess.dll 2005.90.3054.0 352,112 24-Mar-2007 03:59 x86
Sqlservr.exe 2005.90.3054.0 72,583,024 24-Mar-2007 03:59 IA64

如果您執行的是介於 3150 到 3158 之間的任何 SQL Server 2005 SP2 組建,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

934459 修正:在 SQL Server 2005 組建 3150 到 3158 中,維護計畫中的 [檢查資料庫完整性] 任務和 [執行 T-SQL 陳述式] 任務在某些情況下可能會遺失資料庫內容
 若要以自動化方式取得此重大更新,請造訪下列 Microsoft Update 網站:

https://update.microsoft.com安裝此重大更新後,SQL Server 2005 的組建為 3161。

如需有關如何判斷 SQL Server 版本和版次的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

321185 如何識別您的 SQL Server 版本和版次
 

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

更多資訊

在原始發行版本的 SQL Server 2005 SP2 和較早版本中,與維護計畫工作相關的命令會累積並同時執行。 發生錯誤時,工作將不再執行,剩餘的維護工作也不會執行。 在 SQL Server 2005 SP2 中,個別批次會一次提交一個。 在原始發行版本的 SQL Server 2005 SP2 中,批次之間的資料庫連線已重設。 稍後的批次會保留在預設資料庫的內容中,而不是在執行 GO 陳述式之前存在的內容中。 受影響的工作取決於執行 GO 陳述式之前存在的內容,特別是檢查資料庫完整性工作和執行 T-SQL 陳述式工作。