回答
是 - 你可以创建一个跟踪,MSDN - Data Access Tracing in SQL Server 2005。另外,如果你知道什么是访问它们(例如通过存储过程),你可以在它们中留下跟踪信息(向表中添加行),然后你就可以看到实际运行的是什么。这不太安全 - 你被证明是一个负面因素,因为你会发现难以赶上偶尔的命中。
我们使用的一种方法是只重命名表,到'zzz_OldName'并且让它们留在那里一段时间,定期修剪该模式的那个区域。
据我所知,在Sql Server中这样的数据没有统计数据。尽管您可以使用Sql Profiler在一段时间内获取使用数据。
如果您的数据通过SProcs存储到表中,我不确定Profiler会帮助哪些实际表受到影响 - 但我可能是错误的! – Kristen 2009-02-16 11:12:40
它不会但至少会显示哪些SP被使用,哪些不是,这将帮助您找到未使用的表。 – 2009-02-16 11:14:19
您可以检查您的DMV(Dynamic Management Views)。如果你的表都有一个主键,那么就有一个主键索引,并且如果该索引永远不被读取,你的表根本就没有被使用。
但请注意,这些是动态管理视图 - 每次SQL Server启动时它们都会重置为0。你可能要考虑无论是SQL Server 2008中Performance DAta Collector或SQL DMV Stats项目为SQL Server 2005删除表:-)
马克
也可以把之前拍摄过的长时间DMV数据在Table上触发以在“WasFoundToBeUsedAfterAll”表中存储TableName + GetDate()
您可能希望UpSert已存在的任何行,也许只有当现有的Date已经24小时或更长时间时,才可以插入多个行 - 这只会成为维护问题!
-- shows table accesses since last MSSQL reboot via index stats.
-- NULL columns imply table wasnt accessed since the last restart.
SELECT
t.name AS 'Table',
Count(i.user_seeks) as 'Indexes',
SUM(i.user_seeks + i.user_scans + i.user_lookups)
AS 'Total accesses',
SUM(i.user_seeks) AS 'Seeks',
SUM(i.user_scans) AS 'Scans',
SUM(i.user_lookups) AS 'Lookups',
SUM(i.user_updates) AS 'Updates'
FROM
sys.dm_db_index_usage_stats i RIGHT OUTER JOIN
sys.tables t ON (t.object_id = i.object_id)
GROUP BY
i.object_id,
t.name
ORDER BY [Total accesses] DESC
- 1. SQL Server 2005表变更历史记录
- 2. 使用触发器的SQL Server 2005历史记录表
- 3. 如何在SQL Server中的历史记录表中存储历史记录
- 4. sql 2005镜像警报历史记录
- 5. 将SQL Server点历史记录表迁移到历史记录表
- 6. SQL Server 2000如何查找表/行的事务历史记录
- 7. 在SQL Server中使用StoredProcedure保存历史记录
- 8. 检测的历史记录表
- 9. GWT历史记录:历史记号
- 10. Netflix查看历史记录
- 11. SQL Server:为审计/历史记录创建触发器表
- 12. 检查SQL Server表中是否存在使用functoids的记录
- 13. TSQL查询历史记录表MSSQL2008r2
- 14. 查看Asana中的历史记录
- 15. 无法找出正确的SQL查询历史表记录
- 16. 在sql server 2008 Scheduler Job中查看定制日志>查看历史记录?
- 17. MySQL - 从历史记录表中获取历史“快照”
- 18. 用于显示数据更改历史记录的SQL查询
- 19. 如何使用java检查本地系统上的浏览器历史记录
- 20. 用jQuery清除表单历史记录
- 21. Linux下的SQL * Plus历史记录
- 22. 历史SQL Server上的命令
- 23. 在Visual Source Safe中获取项目的历史记录2005
- 24. jquery的历史,检查历史堆栈
- 25. 用户登录SQL Server 2005中表达
- 26. 使用clearcase保存历史记录
- 27. 检索命令行历史记录
- 28. 检测来自webview历史记录
- 29. 海量视图与历史记录表
- 30. 不使用GUI更改SQL代理历史记录属性
+1'zzz_OldName''Scream Test'。我们在表名后加上日期,以便说一个月后,我们知道现在我们可以丢弃哪些表。同样,对于任何“以防万一”表,我们将TEMP_MyTableName_YYYYMMDD命名为TEMP_MyTableName_YYYYMMDD - 所有按alpha分组的TEMP * – Kristen 2009-02-16 11:11:36