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是否可能映射到另一个数据库或另一个服务器中的对象?