Help and Support

文章编号: 909089 - 最后修改: 2007年11月2日 - 修订: 1.5

FIX: 尝试在 SQL Server 2000 中运行 Transact-SQL 查询时,出现访问冲突可能会出现

Hotfix download is available可用热修复补丁程序
察看和要求热修复补丁程序下载
BUG #: 471331 (SQL Server 8.0)
Microsoft 将作为一个的可下载文件来分发 Microsoft SQL Server 2000 修复程序。 因为修补程序是累积的因此每个新版本包含所有修复程序,和所有安全修复程序包含在以前的 SQL Server 2000 都修复版本。

本页

展开全部 | 关闭全部

概要

本文介绍以下有关此修复程序版本:
  • 该修复程序包修复的问题
  • 安装此修复程序包的要求
  • 安装此修复程序包后是否必须重新启动计算机
  • 是否已被任何其他修补程序包替代此修复程序包
  • 是否在必须更改注册表
  • 修补程序程序包中包含的文件

症状

尝试运行 Transact-SQL 查询从 Microsoft SQL Server 2000 中应用程序时可能发生访问冲突。 满足以下条件时,发生此问题:
  • Transact-SQL 查询中包含 UNION 运算符。
  • Transact-SQL 查询使用并行执行计划。
当出现此问题时将会在 SQL Server 错误日志中记录以下错误信息:
<Date> <Time> 服务器 Microsoft SQL Server 2000 的 8.00.2039 (Intel X 86) 可能 2005 3 23:18:38 版权所有 (c) 1988-2003 Microsoft Corporation Enterprise Edition 在 Windows NT 5.2 上的 (生成 3790: Service Pack 1) 正在 2005-08-31 12:21:15.46 spid54 DBCC TRACEON 2861 服务器进程 ID (SPID) 54。
<Date> <Time> spid57 打开错误日志 C:\Program Files \Microsoft SQL Server\MSSQL\log\exception.log 失败。
<Date> <Time> spid57 打开错误日志 C:\Program Files \Microsoft SQL Server\MSSQL\log\exception.log 失败。
<Date> <Time> spid57 打开错误日志 C:\Program Files \Microsoft SQL Server\MSSQL\log\exception.log 失败。
<Date> <Time> spid57 使用 dbghelp.dll 版本"4.0.5"
*Stack 转储发送到 C:\Program Files \Microsoft SQL Server\MSSQL\log\SQLDump0920.txt
<Date> <Time> spid57 SqlDumpExceptionHandler: 过程 5984 生成致命异常 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在终止此过程。
* ******************************************************************************* * * BEGIN STACK DUMP:
*
<Date> <Time> spid 57
*
* 异常地址 = 0040560F
* 例外代码 = c0000005 EXCEPTION_ACCESS_VIOLATION
* 访问冲突发生读取地址 000000B8
* d b o。 P I D 14 00 64 H 00 62 00 6f 00 2e 00 50 00 49 00 48 00 44 00
* e l e t e _ L e v 65 00 00 65 6c 00 74 00 65 00 5f 4c 00 65 00 00 76 00
* e l 2 §2 2 65 00 6c 00 32 00 00 00 00 00 a7 32 00 09 04 00 01 32
* F49? 2 03 00 46 a 34 39 00 00 a7 08x 00 09 04 00 01 32 07 00 61
* cdgood 63 64 67 6f 6f 64
*
* -------------------------------------------------------------------------------
* 短的堆栈转储 * 0040560F module(Sqlservr+0000560F) * 00603FF5 module(Sqlservr+00203FF5) (SQLExit + 0009C4FE)
* 0053577C module(Sqlservr+0013577C)
* 00420A14 module(Sqlservr+00020A14)
* 00874277 module(Sqlservr+00474277) (GetIMallocForMsxml + 0007F6F7)
* 00875200 module(Sqlservr+00475200) (GetIMallocForMsxml + 00080680)
* 00875611 module(Sqlservr+00475611) (GetIMallocForMsxml + 00080A91)
* 005BB2F6 module(Sqlservr+001BB2F6) (SQLExit + 000537FF)
* 005BAAB9 module(Sqlservr+001BAAB9) (SQLExit + 00052FC2)
* 00866D25 module(Sqlservr+00466D25) (GetIMallocForMsxml + 000721A5)
* 00868002 module(Sqlservr+00468002) (GetIMallocForMsxml + 00073482)
* 00868B1E module(Sqlservr+00468B1E) (GetIMallocForMsxml + 00073F9E)
* 0087E1CD module(Sqlservr+0047E1CD) (GetIMallocForMsxml + 0008964D)
* 0087E422 module(Sqlservr+0047E422) (GetIMallocForMsxml + 000898A2)
* 0055C692 module(Sqlservr+0015C692)
* 41075309 module(ums+00005309) (ProcessWorkRequests + 000002D9 行 456 + 00000000)
* 41074978 Module(ums+00004978) (ThreadStartRoutine + 00000098 行 263 + 00000007)
* 7C34940F Module(MSVCR71+0000940F) (endthread + 000000AA)
* 77E66063 Module(kernel32+00026063) (GetModuleFileNameA + 000000EB)
* -------------------------------------------------------------------------------
*Dump 线程 spid = 57,PSS = 0x530731f8,EC = 0x53073528
此外,在应用程序日志中都记录以下事件:

事件 1

错误 17055 <Date> <Time>MSSQLSERVER DUALP Server <ComputerName>\<Login>17310: SqlDumpExceptionHandler: 过程 1780 生成致命异常 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在终止此过程。

事件 2

信息 17052 <Date> <Time>MSSQLSERVER DUALP 服务器 N/A 错误: 17883,严重性: 1,状态: 0 进程 56:51 (c84) UMS 调度上下文 0x0029DF20 似乎是非生成计划程序 1

原因

出现此问题的原因已编译的计划为执行计划中错误地转换运算符。

解决方案

安装程序不安装此修复程序正确基于 x 64 的系统。 满足以下条件时,发生此安装问题:
  • 系统使用 Advanced Micro Devices (AMD) AMD 64 处理器结构或在 Intel 扩展内存 64 Technology (EM 64 T) 处理器体系结构。

    请注意 使用 Intel Itanium 处理器体系结构的系统上不会发生此问题。
  • 系统运行 Microsoft Windows Server 操作系统的 64 位版本。
  • 系统运行 32 位版本的 SQL Server 2000。
我们已更正的 SQL Server 2000,从版 8.00.2244 开始的更高版本中此安装问题。 x 64 的系统运行 SQL Server 2000 的客户请求此修复程序时, 我们将提供的生成包含此修复程序,并且可以 x 64 的系统上正确安装的。 我们提供生成将版本 8.00.2244 或更高版本。

修补程序信息

支持修补程序是 Microsoft 提供的。 但是,此修复程序被用于解决本文中提到的问题。 此修复程序仅适用于正经历此特定问题的系统。

如果此修复程序为可供下载的则此知识库文章的顶部的"修补程序下载可用"部分。 如果此部分不,提交 Microsoft 客户服务和支持以获取该修补程序请求。

请注意 如果发生其他问题或者任何疑难解答不需要,您可能必须创建单独的服务请求。 通常的支持成本将应用于其他支持问题和执行不适用于此特定修补程序的问题。 有关完整列表的 Microsoft 客户服务和支持电话号码,或创建单独的服务请求,请访问下面的 Microsoft Web 站点:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
请注意 "可用的修补程序下载"窗体显示此修复程序可用该的语言。 如果看不语言请它是因为修补程序不适用于该语言。

系统必备组件

  • Microsoft SQL Server 2000 Service Pack 4 (SP 4)

    有关如何获取 SQL Server 2000 SP 4 的信息,单击下面的文章编号,以查看 Microsoft 知识库中的文章:
    290211? (http://support.microsoft.com/kb/290211/ ) 如何获取最新的 SQL Server 2000 Service Pack

重新启动信息

您没有在应用此修复程序后重新启动计算机。 但是,修补程序安装会停止,,然后重新启动 MSSQLSERVER 服务。

注册表信息

您没有更改注册表。

修补程序文件信息

此修复程序包含只解决本文列出的该问题所需的文件。 此修补程序不能包含将产品完全更新到最新版本所需的所有文件。

文件属性 (或更高版本的文件属性),将程序此修复程序的英文版下表中列出。 该日期和为这些文件的时间按协调世界时 (UTC) 列出。 当您查看文件信息时, 它被转换为本地时间。 要了解 UTC 和本地时间的时差,请使用控制面板中的日期和时间工具 时区 选项卡。
SQL Server 2000 32 位版本
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
Dtsui.dll2000.80.2171.01,593,34404 Nov 200507:10x 86
Impprov.dll2000.80.2171.0102,40004 Nov 200507:10x 86
Mssdi98.dll8.11.50523.0239,10406 Jun 200522:46x 86
Ntwdblib.dll2000.80.2171.0290,81604 Nov 200507:10x 86
Odsole 70.dll2000.80.2171.069,63204 Nov 200507:10x 86
Pfclnt80.dll2000.80.2171.0430,08004 Nov 200507:10x 86
Replprov.dll2000.80.2171.0237,56804 Nov 200507:10x 86
Semexec.dll2000.80.2171.0856,06404 Nov 200507:10x 86
Sqlagent.exe2000.80.2171.0323,58404 Nov 200505:27x 86
Sqldiag.exe2000.80.2171.0118,78404 Nov 200506:09x 86
Sqldmo.dll2000.80.2171.04,362,24004 Nov 200507:10x 86
Sqlfth75.dll2000.80.2171.0102,40004 Nov 200505:33x 86
Sqlservr.exe2000.80.2171.09,158,65604 Nov 200507:10x 86
Sqlsort.dll2000.80.2171.0589,82404 Nov 200507:10x 86
Stardds.dll2000.80.2171.0176,12804 Nov 200507:10x 86
Svrnetcn.dll2000.80.2171.0110,59204 Nov 200507:10x 86
Ums.dll2000.80.2171.035,32804 Nov 200507:10x 86
Sqlevn70.rll2000.80.2171.045,05604 Nov 200507:10不适用
SQL Server 2000 Itanium 体系结构版本
收起该表格展开该表格
文件名称文件版本文件大小日期时间平台
Impprov.dll2000.80.2171.0244,73604 Nov 200507:13IA-64
Mssdi98.dll8.11.50523.0758,78406 Jun 200522:46IA-64
Odsole 70.dll2000.80.2171.0150,52804 Nov 200507:12IA-64
Pfclnt80.dll2000.80.2171.01,187,84004 Nov 200507:30IA-64
Replprov.dll2000.80.2171.0538,62404 Nov 200507:19IA-64
Sqlagent.exe2000.80.2171.01,061,37604 Nov 200507:37IA-64
Sqldiag.exe2000.80.2171.0334,33604 Nov 200507:32IA-64
Sqldmo.dll2000.80.2171.013,860,35204 Nov 200507:41IA-64
Sqlfth75.dll2000.80.2171.0246,78404 Nov 200507:15IA-64
Sqlservr.exe2000.80.2171.024,921,60004 Nov 200513:24IA-64
Sqlsort.dll2000.80.2171.0617,47204 Nov 200505:23IA-64
Svrnetcn.dll2000.80.2171.0427,52004 Nov 200507:27IA-64
Sqlevn70.rll2000.80.2171.035,32804 Nov 200513:24不适用
请注意 由于文件相关性最新的修补程序或包含这些文件的功能还可能包含其他文件。

替代方法

要解决此问题,使用一个或两个以下的方法:
  • 重写在 Transact-SQL 查询,并修改创建不同的执行计划的索引。
  • 使用以下查询提示关闭并行查询。
    OPTION (MAXDOP 1)

状态

Microsoft 已确认这是"适用于"一节中列出的在 Microsoft 产品中存在的问题。

更多信息

有关 SQL Server 更新该命名架构的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中的文章:
822499? (http://support.microsoft.com/kb/822499/ ) Microsoft SQL Server 软件更新程序包的新文件命名方案
有关在 Microsoft 时所使用术语的 Microsoft 在发布后更正软件的详细信息,单击下面的文章编号,以查看 Microsoft 知识库中相应:
824684? (http://support.microsoft.com/kb/824684/ ) 标准术语用于描述 Microsoft 软件更新的说明

这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
关键字:?
kbmt kbautohotfix kbhotfixserver kbbug kbfix kbqfe KB909089 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。
点击这里察看该文章的英文版: 909089? (http://support.microsoft.com/kb/909089/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

文章翻译

 

Related Support Centers