我正在使用的数据库具有 800多个物理表,其中一些是当前未使用的备份/临时表。
是否有查询从整个数据库中找出临时物理表?
答案 0 :(得分:1)
简短的回答是“否”。首先,没有可靠的方法来识别一个表是“备份/临时”表还是“真实数据”表。 SQL Server不在乎为什么创建一个表。
您可以做的一件事是使用index usage stats来标识上一次更新或读取该表中的某些索引的时间:
SELECT
OBJECT_NAME(OBJECT_ID) AS TableName
, last_user_update
, last_user_seek
, last_user_scan
, last_user_lookup
, last_system_update
, last_system_seek
, last_system_scan
, last_system_lookup
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID()
但是,这不可靠。这些统计信息在重新启动期间不会保留,因此您可能会错过上一次使用表的情况。另外,您可能需要进行一些自动化的索引维护,这将重建索引,并且该表可能看起来像使用过的那样。另外,如果很少使用该怎么办?仅在年初才运行去年的报告?
您可以获得的所有信息仅提示可能未使用的内容。去找你的同事问。重命名表格,等待有人开始尖叫。但是没有可靠的方法来获取此类信息。