OBJECT_ID的返回值错误?

fas*_*asa 5 sql t-sql sql-server ssms

在 Microsoft SQL Server 2014 (SP2-CU1) (KB3178925) 上 - 12.0.5511.0 (X64) 2016 年 8 月 19 日 14:32:30 版权所有 (c) Windows NT 6.1 上的 Microsoft Corporation Enterprise Edition(64 位)(内部版本 7601:服务)包 1)(管理程序)

sp_UpdateStats 实际上不存在,查询:

SELECT OBJECT_ID('sp_UpdateStats')
Run Code Online (Sandbox Code Playgroud)

返回值:-838816646

select * FROM sys.objects WHERE name='sp_UpdateStats'
Run Code Online (Sandbox Code Playgroud)

返回0行...

怎么会这样 ?OBJECT_ID 函数中的错误?

编辑

很高兴知道 ID -838816646 来自 sys.sysobjects 或 sys.system_objects 但更准确的问题是:

  • 为什么该过程出现在 sys.sysobjects 和 sys.system_objects 中,而不是出现在我们应该使用的新视图 sys.objects 中?

Pரத*_*ீப் 2

它将存储在Master数据库sysobjects视图中

select * FROM master.sys.sysobjects WHERE name='sp_UpdateStats'
Run Code Online (Sandbox Code Playgroud)

结果 :-838816646