我正在查看sys.dm_exec_函数_统计数据视图,以找到标量函数统计数据。该视图还包括具有id 32767的数据库中的行,我发现它是资源数据库。
其中一些ID可以传递给OBJECT_NAME()
或OBJECT_DEFINITION()
元数据函数,但有些ID返回NULL
。
SELECT SERVERPROPERTY('ResourceVersion') AS 'ResourceVersion'
SELECT SERVERPROPERTY('ResourceLastUpdateDateTime') AS 'ResourceLastUpdateDateTime'
SELECT
defs.database_id
, defs.object_id
, OBJECT_NAME(defs.object_id) AS objName
, OBJECT_DEFINITION(defs.object_id) AS objDef
, OBJECT_NAME(defs.object_id, defs.database_id) AS objNameDB
, OBJECT_DEFINITION(defs.object_id, defs.database_id) AS objDefDB
FROM sys.dm_exec_function_stats AS defs
WHERE defs.database_id = 32767
我可以在fn_hadr_is_primary_replica
或sys.all_sql_modules
中找到sys.all_objects
函数(object_id = -665919249),但找不到object_id = -706609674。
有没有办法找到-706609674的对象名称或定义?
发布于 2022-08-03 11:40:10
在我的例子中,对象id -706609674是sys.fn_cdc_jobs
。
资源数据库只是另一个数据库,您可以用不同的名称复制和附加文件。
这些文件名为mssqlsystemresource.mdf
和mssqlsystemresource.ldf
。
您可以在安装的子目录\MSSQL\Binn
中找到它们。
或者,从DAC运行命令。
https://dba.stackexchange.com/questions/315169
复制相似问题