Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

假設您在 Microsoft SQL Server 2014 中有一個具有聚集列存儲索引的資料表。 您可以針對資料表執行 DDL 查詢,以變更現有資料行的資料類型。 例如,您可以執行下列命令,將 Column_1 Table_1 的資料類型從 VARCHAR (499)更新為 NVARCHAR (500):

ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL

在這種情況下,會發生多重宣告失敗,而且您會收到下列錯誤訊息:

位置 <: > \xmcolenc.inl :413Expression: PF_CURRENT_STATUS = = PFS_OK (在 XMColumnEncoder<未簽署的 char *>:: EncodeValueForSecondary) SPID: <SPID>程式識別碼: <程式 識別碼 >說明: hr:0X0Location: <檔案 路徑> \xmerror.cpp:43Expression:0(在 PFSetLastError) SPID: <程式識別碼>說明: hr:0x0

此外,系統會在 SQL Server 錯誤記錄資料夾中產生多個記憶體傾印檔案,並在 SQL Server 錯誤記錄中記錄多個類似下列的錯誤訊息:

<日期時間> Spid<ID> * * * 堆疊轉儲會傳送至 <磁片名稱>: \Program Files\Microsoft SQL Server\MSSQL12。SQL2014\MSSQL\LOG\SQLDump0002.txt<日期時間> Spid<ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <日期時間> spid<ID > * <日期時間> spid<識別碼> * 開始堆疊轉儲: <的日期時間> spid <識別碼> * <日期時間> spid <Id>< * 私人伺服器組建> Spid<Id > 。 <日期時間> Spid<ID > * <日期時間> spid<ID > * 位置: <檔路徑> \xmcolenc.inl: 413<日期時間> spid<ID > * 運算式: PF_CURRENT_STATUS = = PFS_OK<日期時間> spid<> * (在 XMColumnEncoder<無符號字元集 *> :: EncodeValueForSecondary) <> 的日期時間<spid> id Date Time<* 60: 3680<日期時間> Spid<Id> * 描述: hr: 0X0<的日期時間> Spid <識別碼> * <日期時間> spid<識別碼> * 輸入緩衝區136位元組-<日期時間> spid<識別碼> * ALTER TABLE Table_1 變更欄 COL1 NVARCHAR (500) NOT Null;

解決方案

在您套用此熱修復程式後,當 DDL 查詢失敗時,您可能會收到下列新的錯誤訊息:

ALTER TABLE 語句失敗,因為次要字典已達到最大大小限制。 考慮刪除資料列索引、變更資料行,然後建立新的資料列索引

此修正程式也可防止在 SQL Server 錯誤記錄中產生記憶體傾印檔案。此問題首先是在 SQL Server 的下列累積更新中修正:

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 我們建議您下載並安裝最新的 SQL Server 累積更新:

狀態

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

Need more help?

Want more options?

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

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×