11 sql-server metadata sql-server-2008-r2
我正在从没有文档的旧系统中归档数据。幸运的我...
我想知道表的创建时间、上次访问时间等。我可以相信这个查询会给我正确的答案还是我首先需要检查一些参数?SQL Server 2008 R2:
SELECT t.Name AS Tabelname, p.rows AS NoOfRows, MAX(us.last_user_lookup) AS LastUsed, t.create_date AS CreatedDate
FROM sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
LEFT JOIN --A lot of the tables did not have any records in this table
sys.dm_db_index_usage_stats as us ON t.OBJECT_ID = us.OBJECT_ID
GROUP BY t.Name, p.rows, create_date
ORDER BY MAX(us.last_user_lookup) DESC
Run Code Online (Sandbox Code Playgroud)
Rem*_*anu 17
不。
该sys.dm_db_index_usage_stat视图最多仅反映自上次数据库启动(上次实例启动,或上次数据库联机时)以来的数据。此外,条目可能会在内存压力下清除。它将给出准确的正数(如果表具有非零统计数据,则使用它))但可能会给出假负数(统计数据中的 0 使用量可能无法反映实际使用情况)。还有许多系统每周只使用一次某些表,每月一次甚至每年一次。