您目前已離線,請等候您的網際網路重新連線

FIX: 您無法復原的變更在交易中之後藉由將 fRetaining 旗標設定為 TRUE 在 SQL Server 2005 為基礎的應用程式使用 SQL 原生用戶端 OLE DB 提供者呼叫 ITransactionLocal::Abort 方法

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:940390
錯誤: # 50001478 (SQL Hotfix)
注意事項
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2005 的修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 SQL Server 2005 隨附所有安全性修正程式都修正發行。
結論
本文將告訴您下列關於此 Hotfix 版本的資訊:
  • 此 Hotfix 所修正的問題
  • 若要套用此 Hotfix 必要條件
  • 是否您必須重新啟動電腦在安裝此 Hotfix 之後
  • 是否 Hotfix 套件就會取代任何其他的 Hotfix
  • 您必須在是否做任何登錄變更
  • 包含在這個 Hotfix 中的檔案
徵狀
考慮下列案例。您可以使用 SQL 原生用戶端 OLE DB 提供者來連線至 Microsoft SQL Server 2005 的執行個體應用程式中。在連線您開始啟用 xact_abort 選項的交易。啟用 [中的] 選項之後 SQL Server 會復原交易如果死結或完整性違規發生。然後,您試著中止交易。若要執行此動作,請藉由將 ITransactionLocal::Abort 方法的 fRetaining 旗標設定為 TRUE 呼叫 ITransactionLocal::Abort 方法。

在這種情況下您應該會中止目前的交易後,手動認可模式中啟動新的交易。因此,您預期您可以復原稍後 TRANSACT SQL 陳述式之後呼叫 ITransactionLocal::Abort 方法。但是,您無法復原稍後的陳述式。
發生的原因
SQL 原生用戶端 OLE DB 提供者未正確切換認可模式從手動認可連線,以自動認可的就會發生這個問題。因此,稍後 TRANSACT SQL 陳述式中的任何變更都會立即認可。
解決方案

累積更新資訊

如果要解決這個問題,取得如 Microsoft SQL Server 2005 Service Pack 2 的 [累積更新套件 3]。 如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
939537SQL Server 2005 Service Pack 2 的累積更新套件 3

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

必要條件

  • Microsoft SQL Server 2005 Service Pack 2
    如需有關如何取得 SQL Server 2005 Service Pack 2 的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
    913089如何取得最新的 Service Pack,SQL Server 2005 的

重新啟動資訊

您沒有套用此 Hotfix 之後重新啟動電腦。

登錄資訊

您沒有變更登錄。

Hotfix 檔案資訊

此 Hotfix 包含只需修正本文所列問題的那些檔案。此 Hotfix 並未包含必須將產品完整更新至最新版組建的所有檔案。

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。

SQL Server 2005 32 位元版本

檔案名稱檔案版本檔案大小日期時間平台
Sqlncli.dll2005.90.3183.02,235,2482007 年一月 16 日13: 46x86
Sqlnclir.rll2005.90.1399.0205,5282005 年十月 13 日19: 48不適用

x x64 版本的 SQL Server 2005

檔案名稱檔案版本檔案大小日期時間平台
Sqlncli.dll2005.90.3183.02,754,9282007 年一月 16 日17: 59x64
Sqlnclir.rll2005.90.1399.0206,0402005 年十月 14 日06: 31不適用

SQL Server 2005 Itanium 架構版本

檔案名稱檔案版本檔案大小日期時間平台
Sqlncli.dll2005.90.3183.05,420,9122007 年七月 17 日05: 43IA 64
Sqlnclir.rll2005.90.1399.0205,0162005 年十月 14 日06: 39不適用

其他可行方案
如果要解決這個問題,呼叫 ITransactionLocal::Abort 方法,來結束交易藉由將 fRetaining 旗標設定為 FALSE。然後,啟動新的交易。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。
其他相關資訊
如 SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述

如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

警告:本文為自動翻譯

內容

文章識別碼:940390 - 最後檢閱時間:11/20/2007 17:46:23 - 修訂: 1.4

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Workgroup Edition

  • kbmt kbautohotfix kbhotfixrollup kbsql2005connect kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB940390 KbMtzh
意見反應