FIX: 您如果查询包含用户定义的函数、 派生的表和联接可能会收到一条 913 错误消息

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 834688
本文已归档。它按“原样”提供,并且不再更新。
错误 #: 354341 (SQL Server 8.0)
错误 #: 354626 (SQL Server 8.0)
错误 #: 357270 (SQL Server 8.0)
bug #: 470767 (SQL Server 8.0)



Microsoft 将 Microsoft SQL Server 2000 修补程序分发作为一个可下载的文件。因为该修补程序是累积性、 每个新版本包含的所有修补程序和所有安全都修复的包含在以前的 SQL Server 2000 修复程序版本。
症状
当您运行一个查询,以符合下列条件时,您可能会收到一条 913 错误消息:
  • 查询中包括 JOIN 子句使用 ANSI sql-92 JOIN 语法的。
  • 联接条件中引用用户定义函数。
  • 查询中包含派生的表。
您会收到以下错误消息:
服务器: 消息 913,级别 16,8,状态行 1
找不到数据库 ID 102。数据库可能未尚未激活,或者可能在转换中。
解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

修补程序信息


此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
   Date         Time    Version            Size    File name   -----------------------------------------------------------------------   31-May-2003  18:45   2000.80.818.0     78,400   Console.exe   28-Oct-2003  04:21   2000.80.873.0    315,968   Custtask.dll   02-Oct-2003  20:59   2000.80.867.0     33,340   Dbmslpcn.dll   25-Apr-2003  02:12                    786,432   Distmdl.ldf   25-Apr-2003  02:12                  2,359,296   Distmdl.mdf   30-Jan-2003  01:55                        180   Drop_repl_hotfix.sql   12-Sep-2003  03:26   2000.80.859.0  1,905,216   Dtspkg.dll   26-Aug-2003  20:16   2000.80.854.0    528,960   Dtspump.dll   23-Jun-2003  22:40   2000.80.837.0  1,557,052   Dtsui.dll   23-Jun-2003  22:40   2000.80.837.0    639,552   Dtswiz.dll   24-Apr-2003  02:51                    747,927   Instdist.sql   10-Oct-2003  18:52                    745,961   Instmsdb.sql   03-May-2003  01:56                      1,581   Inst_repl_hotfix.sql   08-Feb-2003  06:40   2000.80.765.0     90,692   Msgprox.dll   01-Apr-2003  02:07                      1,873   Odsole.sql   05-Apr-2003  01:46   2000.80.800.0     62,024   Odsole70.dll   07-May-2003  20:41   2000.80.819.0     25,144   Opends60.dll   07-May-2003  18:47                    132,096   Opends60.pdb   02-Apr-2003  21:48   2000.80.796.0     57,904   Osql.exe   02-Apr-2003  23:15   2000.80.797.0    279,104   Pfutil80.dll   04-Aug-2003  18:17                    550,780   Procsyst.sql   12-Sep-2003  00:37                     12,305   Qfe469315.sql   22-May-2003  22:57                     19,195   Qfe469571.sql   20-Jan-2004  00:45                  1,090,380   Replmerg.sql   06-Sep-2003  07:18   2000.80.858.0    221,768   Replprov.dll   16-Jan-2004  01:24   2000.80.908.0    307,784   Replrec.dll   16-Jan-2004  01:13   2000.80.908.0    159,813   Replres.rll   06-Sep-2003  00:00                  1,087,150   Replsys.sql   13-Aug-2003  16:28                    986,603   Repltran.sql   02-Jan-2004  19:42   2000.80.904.0    287,304   Rinitcom.dll   22-Oct-2003  00:08   2000.80.871.0     57,916   Semnt.dll   29-Jul-2003  20:13   2000.80.819.0    492,096   Semobj.dll   31-May-2003  18:27   2000.80.818.0    172,032   Semobj.rll   02-Jan-2004  19:42   2000.80.904.0     53,832   Snapshot.exe   09-Dec-2003  20:07                    117,834   Sp3_serv_uni.sql   16-Jan-2004  01:23   2000.80.908.0     28,672   Sqlagent.dll   16-Jan-2004  01:24   2000.80.908.0    311,872   Sqlagent.exe   07-Jan-2004  22:38   2000.80.905.0    126,976   Sqlakw32.dll   01-Jun-2003  01:01   2000.80.818.0  4,215,360   Sqldmo.dll   07-Apr-2003  17:44                     25,172   Sqldumper.exe   19-Mar-2003  18:20   2000.80.789.0     28,672   Sqlevn70.rll   27-Sep-2003  04:42   2000.80.865.0    180,792   Sqlmap70.dll   03-Sep-2003  02:56   2000.80.857.0    188,992   Sqlmmc.dll   02-Sep-2003  23:03   2000.80.857.0    479,232   Sqlmmc.rll   22-Oct-2003  00:08   2000.80.871.0    401,984   Sqlqry.dll   08-Feb-2003  06:40   2000.80.765.0     57,920   Sqlrepss.dll   16-Jan-2004  01:24   2000.80.908.0  7,610,449   Sqlservr.exe   16-Jan-2004  01:26                 12,780,544   Sqlservr.pdb   25-Jul-2003  21:44   2000.80.845.0    590,396   Sqlsort.dll   08-Feb-2003  06:40   2000.80.765.0     45,644   Sqlvdi.dll   02-Oct-2003  20:59   2000.80.867.0     33,340   Ssmslpcn.dll   01-Jun-2003  01:01   2000.80.818.0     82,492   Ssnetlib.dll   01-Jun-2003  01:01   2000.80.818.0     25,148   Ssnmpn70.dll   28-Oct-2003  04:21   2000.80.873.0    123,456   Stardds.dll   01-Jun-2003  01:01   2000.80.818.0    158,240   Svrnetcn.dll   31-May-2003  18:59   2000.80.818.0     76,416   Svrnetcn.exe   30-Apr-2003  23:52   2000.80.816.0     45,132   Ums.dll   30-Apr-2003  23:52                    132,096   Ums.pdb   02-Jul-2003  00:19   2000.80.834.0     98,816   Xpweb70.dll
注意 由于存在文件依赖性最新的修补程序或功能,它包含这些文件可能还包含其他文件。

替代方法
要变通解决此问题,重写查询,以删除其中一个本文"症状"一节中提到的条件。 例如对于您可以执行以下操作:
  • 通过使用唯一的 JOIN 子句来重写查询,并从查询中删除派生的表。
  • 如果在 JOIN 是一个内部联接移动 JOIN 子句中的用户定义函数的 WHERE 子句。
  • 使用 TRANSACT-SQL JOIN 语法 (= *,* =) 的 sql-92 语法而不是。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。
更多信息
有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

警告:本文已自动翻译

属性

文章 ID:834688 - 上次审阅时间:12/08/2015 05:56:53 - 修订版本: 3.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 标准版, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB834688 KbMtzh
反馈