Sql 查询dm_db_index_usage_stats返回空行

Sql 查询dm_db_index_usage_stats返回空行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个用户告诉我,我们应用程序中的一些数据已经更改 使用,我对填充应用程序中数据的表运行了以下查询: SELECT OBJECT_NAME(OBJECT_ID) AS TableName,  last_user_update,* FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID( 'Mydatabase') AND OBJECT_ID=OBJECT_ID('mytable') 我没有返回任何行,因此表中的数据似乎没有被更新的

我有一个用户告诉我,我们应用程序中的一些数据已经更改

使用,我对填充应用程序中数据的表运行了以下查询:

SELECT OBJECT_NAME(OBJECT_ID) AS TableName,
 last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'Mydatabase')
AND OBJECT_ID=OBJECT_ID('mytable')
我没有返回任何行,因此表中的数据似乎没有被更新的历史记录

我跑

SELECT OBJECT_NAME(OBJECT_ID) AS TableName,
 last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'Mydatabase')
我得到了13行,其中有几行的表名为空。

第一点:

每当SQL Server启动时,计数器都会初始化为空 MSSQLSERVER服务已启动。此外,每当数据库 例如,由于AUTO_CLOSE设置为 在上,将删除与数据库关联的所有行

因此,如果您的服务器重新启动或其他情况,您没有统计数据

第二点:

调用对象名称函数时使用数据库id参数:

SELECT OBJECT_NAME(OBJECT_ID, DB_ID( 'Mydatabase')) AS TableName,
 last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'Mydatabase')

你能取回一个对象id吗?对象id是否可能映射到另一个数据库或另一个服务器中的对象?