文章編號: 978839 - 上次校閱: 2011年5月26日 - 版次: 1.0

修正: 上 SQL Server 2008 資料庫的備份作業失敗,如果您啟用變更追蹤此資料庫上

可以下載 Hotfix下載 Hotfix
檢視和要求下載 hotfix
系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

在 Microsoft SQL Server 2008 中,您嘗試將資料庫備份使用 BACKUP 陳述式。但是,備份作業失敗,且在 SQL Server 錯誤記錄檔會記錄下列的錯誤訊息:
<date><time> <spid>錯誤: 2601,嚴重性: 14 日的狀態: 1。</spid></time></date>
<date><time> <spid>無法插入在物件 'sys.syscommittab' 唯一索引 '<index name="">' 重複索引鍵的資料列。</index></spid></time></date>
<date><time> <spid>錯誤: 3999,嚴重性: 17,狀態: 1。</spid></time></date>
<date><time> <spid>無法認可資料表排清到磁碟中錯誤 2601年受限於 dbid <database id=""> 。請檢查錯誤記錄檔的詳細資訊。</database></spid></time></date>

當下列情況成立時,就會發生這個問題:
  • 您已經啟用了 SQL Server 變更追蹤此資料庫上。
  • 已啟用追蹤修訂後,資料庫已經經歷次資料庫復原至少發生一次。

    附註 在大部分的情況下時執行資料庫復原如下所示:
    • 當 SQL Server 服務會重新啟動。
    • 當資料庫是從備份還原。

此外,SQL Server 會嘗試執行此資料庫檢查點作業時,可以也發現 2601年錯誤。

如需有關可能會造成資料庫檢查點的活動的詳細資訊,請參閱下列的 SQL Server 2008 文件的 「 檢查點和作用中部分的記錄檔 」 一節檢查 」 活動,會導致點"副主題:

檢查點及記錄檔的現用部分 (http://msdn.microsoft.com/en-us/library/ms189573.aspx)
附註 此 KB 文章中,並在知識庫文件 2522893 中所描述類似徵狀有不同的根本原因。KB 文章 2522893 所述的累積更新修正了這兩個根本原因。 如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2522893? (http://support.microsoft.com/kb/2522893/ ) 修正: 上 SQL Server 2008 資料庫的備份作業失敗,如果您啟用變更追蹤此資料庫上

解決方案

累積更新資訊

這個問題的修正程式首次發表的 SQL Server 2008 Service Pack 1 的累積更新 7。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
979065? (http://support.microsoft.com/kb/979065/LN/ ) SQL Server 2008 Service Pack 1 的累積更新套件 7
附註 因為組建是累計的每個新的修正版本包含所有的 hotfix 並隨附於先前的 SQL Server 2008 所有安全性修正程式都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
970365? (http://support.microsoft.com/kb/970365/LN/ ) SQL Server 2008 建置 SQL Server 2008 Service Pack 1 發行之後所發行
Microsoft SQL Server 2008 的 hotfix 會建立特定的 SQL Server service pack。您必須將 SQL Server 2008 Service Pack 1 hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。根據預設,所提供 SQL Server service pack 的任何 hotfix 包含在下一個 SQL Server service pack。

Hotfix 資訊

可從 Microsoft 取得支援的 hotfix。不過,此 hotfix 被用來修正本文中所述的問題。此 hotfix 只適用於發生此特定問題的系統上。

Hotfix 可供下載時,便會出現 「 下載 Hotfix 」 區段上方的知識庫文件。如果這個區段不會出現,要求提交給 Microsoft 客戶服務及支援 」 取得 hotfix。

附註 如果發生其他問題或需要任何疑難排解時,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務和支援電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註 「 下載 Hotfix 」 表單會顯示此 hotfix 卻使用的語言。如果看不到您的語言,它是因為 hotfix 未提供該語言的支援。

必要條件

您必須有 SQL Server 2008 Service Pack 1 (SP1) 安裝來套用這個 hotfix。

重新啟動需求

您不必套用此 hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 hotfix 不會取代任何其他 hotfix。

檔案資訊

此 hotfix 的英文版具有檔案屬性 (或較新的檔案屬性) 下表中所列。其日期和時間,這些檔案會列出在國際標準時間 (UTC)。當您檢視檔案資訊時,它會轉換成當地時間。若要尋找要查看 UTC 與本地時間之間的差異,請使用 時區 在索引標籤 日期和時間 在控制台中的項目。
x86 為主版的 SQL Server 2008
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Databasemailengine.dll10.0.2760.075,62431-1 月-201010: 58x86
Databasemailprotocols.dll10.0.2760.042,85631-1 月-201010: 58x86
Eng_re_instmsdb_sql.32不適用1,675,86630 年 1 月 201020: 08不適用
Eng_re_queryactivityupload_dtsx.32不適用680,10730 年 1 月 201020: 47不適用
Eng_re_resourcedb_ldf.32不適用52428831-1 月-201000: 00不適用
Eng_re_resourcedb_mdf.32不適用63,307,77631-1 月-201000: 00不適用
Eng_re_sqlaccess_dll.322007.100.2760.0405,35231-1 月-201012: 43x86
Keyfile.dll2007.100.2760.013,67231-1 月-201011: 40x86
Mpt_dc_instmdw_sql.32不適用469,80630 年 1 月 201020: 47不適用
Mpt_sqlagent_msdb_upgrade2_sql.32不適用1,789,98730 年 1 月 201020: 28不適用
Mpt_sqlagent_msdb_upgrade_sql.32不適用1,789,98730 年 1 月 201020: 28不適用
Sqlagent.dll2007.100.2760.0367,46431-1 月-201012: 43x86
Sqlctr100.dll2007.100.2760.072,55231-1 月-201012: 43x86
Sqlscriptdowngrade.dll2007.100.2760.014,69631-1 月-201012: 45x86
Sqlscriptupgrade.dll2007.100.2760.03,379,04831-1 月-201012: 45x86
Sqlservr.exe2007.100.2760.042,745,70431-1 月-201012: 45x86
Sqsrvres.dll2007.100.2760.089,96031-1 月-201012: 45x86
Xpstar.dll2007.100.2760.0300,90431-1 月-201012: 48x86
x64 型版本的 SQL Server 2008 x
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Databasemailengine.dll10.0.2760.075,62431-1 月-201019: 46x86
Databasemailprotocols.dll10.0.2760.042,85631-1 月-201019: 46x86
Eng_re_instmsdb_sql.64不適用1,675,86630 年 1 月 201020: 08不適用
Eng_re_queryactivityupload_dtsx.64不適用680,10730 年 1 月 201020: 47不適用
Eng_re_resourcedb_ldf.64不適用52428831-1 月-201000: 00不適用
Eng_re_resourcedb_mdf.64不適用63,307,77631-1 月-201000: 00不適用
Eng_re_sqlaccess_dll.642007.100.2760.0412,00831-1 月-201020: 44x86
Keyfile.dll2007.100.2760.014,18431-1 月-201020: 05x64
Mpt_dc_instmdw_sql.64不適用469,80630 年 1 月 201020: 47不適用
Mpt_sqlagent_msdb_upgrade2_sql.64不適用1,789,98730 年 1 月 201020: 28不適用
Mpt_sqlagent_msdb_upgrade_sql.64不適用1,789,98730 年 1 月 201020: 28不適用
Sqlagent.dll2007.100.2760.0427,88031-1 月-201020: 44x64
Sqlctr100.dll2007.100.2760.072,55231-1 月-201012: 43x86
Sqlctr100.dll2007.100.2760.0108,39231-1 月-201020: 44x64
Sqlscriptdowngrade.dll2007.100.2760.015,72031-1 月-201020: 45x64
Sqlscriptupgrade.dll2007.100.2760.03,378,53631-1 月-201020: 45x64
Sqlservr.exe2007.100.2760.057,652,58431-1 月-201020: 45x64
Sqsrvres.dll2007.100.2760.0105,83231-1 月-201020: 45x64
Xpstar.dll2007.100.2760.0546,66431-1 月-201020: 47x64
SQL Server 2008 的 IA x64 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Databasemailengine.dll10.0.2760.075,62401-2 月-201007: 42x86
Databasemailprotocols.dll10.0.2760.042,85601-2 月-201007: 42x86
Eng_re_instmsdb_sql.64不適用1,675,86630 年 1 月 201020: 08不適用
Eng_re_queryactivityupload_dtsx.64不適用680,10730 年 1 月 201020: 47不適用
Eng_re_resourcedb_ldf.64不適用52428831-1 月-201000: 00不適用
Eng_re_resourcedb_mdf.64不適用63,307,77631-1 月-201000: 00不適用
Eng_re_sqlaccess_dll.642007.100.2760.0398,69601-2 月-201008: 45x86
Keyfile.dll2007.100.2760.019,30401-2 月-201008: 03IA-64
Mpt_dc_instmdw_sql.64不適用469,80630 年 1 月 201020: 47不適用
Mpt_sqlagent_msdb_upgrade2_sql.64不適用1,789,98730 年 1 月 201020: 28不適用
Mpt_sqlagent_msdb_upgrade_sql.64不適用1,789,98730 年 1 月 201020: 28不適用
Sqlagent.dll2007.100.2760.01,202,53601-2 月-201008: 45IA-64
Sqlctr100.dll2007.100.2760.072,55231-1 月-201012: 43x86
Sqlctr100.dll2007.100.2760.0135,01601-2 月-201008: 45IA-64
Sqlscriptdowngrade.dll2007.100.2760.020,84001-2 月-201008: 47IA-64
Sqlscriptupgrade.dll2007.100.2760.03,384,68001-2 月-201008: 47IA-64
Sqlservr.exe2007.100.2760.0111,090,02401-2 月-201008: 47IA-64
Sqsrvres.dll2007.100.2760.0187,75201-2 月-201008: 47IA-64
Xpstar.dll2007.100.2760.0936,80801-2 月-201008: 48IA-64

其他可行方案

若要解決這個問題,請依照下列步驟執行:
  1. 重新啟動 SQL Server 服務。
  2. 停用變更追蹤資料庫上。
  3. 啟用變更追蹤。
附註 如果您停用變更追蹤,將會不儲存任何變更追蹤中繼資料。因此,雖然停用變更追蹤時,SQL Server 無法偵測到發生的變更資料庫的資料列中。

狀況說明

Microsoft 已確認這是在 「 Microsoft 產品資料 」 適用於 」 一節中所列的問題。

?考

如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 824684? (http://support.microsoft.com/kb/824684/ ) 用來描述 Microsoft 軟體更新標準術語的說明

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
關鍵字:?
kbautohotfix kbexpertiseadvanced kbfix kbsurveynew kbqfe kbmt KB978839 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:978839? (http://support.microsoft.com/kb/978839/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。