Estou olhando para a exibição sys.dm_exec_function_stats para encontrar estatísticas de função escalar. Essa exibição também inclui linhas de um banco de dados com um id 32767 , que descobri ser o banco de dados Resource .
Alguns desses IDs podem ser passados para OBJECT_NAME()
ou OBJECT_DEFINITION()
funções de metadados, mas alguns IDs retornamNULL
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
Eu posso encontrar a fn_hadr_is_primary_replica
função (object_id = -665919249) no sys.all_objects
ou em sys.all_sql_modules
, mas não o object_id = -706609674.
Existe alguma maneira de encontrar o nome do objeto ou a definição do -706609674?
Na minha instância, o ID do objeto -706609674 é
sys.fn_cdc_jobs
.O banco de dados de recursos é apenas outro banco de dados com arquivos dos quais você pode fazer uma cópia e anexar com um nome diferente.
Os arquivos são nomeados
mssqlsystemresource.mdf
emssqlsystemresource.ldf
.Você pode encontrá-los no subdiretório
\MSSQL\Binn
para sua instalação.Como alternativa, execute seus comandos do DAC.