錯誤 #: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 陳述式工作。