修复 ︰ 断言失败时更改 SQL Server 2014年中某一列的类型

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3098529
症状
假定您有 Microsoft SQL Server 2014 columnstore 聚集的索引的表。您可以更改现有列数据类型对运行 DDL 查询。例如,运行以下命令更新数据类型为第 1 列的 Table_1 从 VARCHAR (499) 到 NVARCHAR (500):
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
在此情况下,多个断言失败发生时,和您会收到以下错误消息 ︰
位置 ︰文件路径> \xmcolenc.inl:413
表达式 ︰ PF_CURRENT_STATUS = PFS_OK =
(在 XMColumnEncoder无符号字符型 *>:: EncodeValueForSecondary)
SPID:SPID>
进程 ID:进程 ID >
说明 ︰ hr: 0x0

位置 ︰文件路径> \xmerror.cpp:43
表达式 ︰ 0
(在 PFSetLastError)
SPID:SPID>
进程 ID:进程 ID>
说明 ︰ hr: 0x0

此外,在 SQL Server 错误日志文件夹中生成多个内存转储文件,并在 SQL Server 错误日志中记录多条类似于以下内容的错误消息 ︰
日期时间> spid标识> *** 堆栈转储发送到磁盘名称>: \Program Files\Microsoft SQL Server\MSSQL12。SQL2014\MSSQL\LOG\SQLDump0002.txt
日期时间> spid标识> * *******************************************************************************
日期时间> spid标识>*
日期时间> spid标识> * 开始堆栈转储 ︰
日期时间> spid标识>*日期时间> spid标识>
日期时间> spid标识> * 专用服务器生成。
日期时间> spid标识>*
日期时间> spid标识> * 位置 ︰文件路径> \xmcolenc.inl:413
日期时间> spid标识> * 表达式 ︰ PF_CURRENT_STATUS = PFS_OK =
日期时间> spid标识> * (以 XMColumnEncoder无符号字符型 *>:: EncodeValueForSecondary)
日期时间> spid<ID>* SPID: 60</ID>
日期时间> spid标识> * 进程 ID: 3680
日期时间> spid标识> * 说明 ︰ hr: 0x0
日期时间> spid标识>*
日期时间> spid标识> * 136 字节的输入缓冲区
日期时间> spid标识> * 改变表 Table_1 改变列 COL1 NVARCHAR(500) NOT NULL;
解决方案
应用此修补程序后,您可能会收到以下新的错误消息,DDL 查询失败时 ︰
ALTER TABLE 语句失败,因为辅助字典达到最大大小限制。请考虑删除 columnstore 索引,改变列中,然后创建一个新的 columnstore 索引

此修复程序还阻止 SQL Server 错误日志中生成内存转储文件。

在 SQL Server 中的以下累积更新首先修复问题 ︰ 建议 ︰ 设置 SQL Server 的累积更新
SQL Server 的每个新累积更新包含所有修补程序和所有安全修补程序,已包含在以前的累积更新。我们建议您下载并安装最新的累积更新 SQL Server:
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

警告:本文已自动翻译

属性

文章 ID:3098529 - 上次审阅时间:03/14/2016 07:42:00 - 修订版本: 3.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3098529 KbMtzh
反馈