如何查看数据库Local History通用列表而非单对象历史记录
在SSMS中查看全库修改对象时间线的UI方法
SSMS自带的Local History确实只能追踪当前打开编辑的单个对象修改记录,没法直接展示全库所有修改过的存储过程、表的时间排序列表。要实现类似SELECT * FROM sys.all_objects ORDER BY modify_date DESC的UI效果,有两种实用方法:
方法一:用对象资源管理器详细信息面板快速查看
- 连接目标数据库后,选中该数据库,按
F7打开对象资源管理器详细信息面板 - 在面板顶部的「类型」筛选框里,按住Ctrl多选「存储过程」和「表」
- 点击面板里的修改日期列标题,就能切换升/降序,直接看到最新修改的对象列表
方法二:自定义查询脚本快速调用
- 新建查询窗口,执行精简后的SQL语句(只显示关键信息):
SELECT name AS 对象名称, type_desc AS 对象类型, modify_date AS 修改时间 FROM sys.all_objects WHERE type_desc IN ('SQL_STORED_PROCEDURE', 'USER_TABLE') AND is_ms_shipped = 0 -- 过滤系统内置对象 ORDER BY modify_date DESC; - 把这个脚本保存到SSMS的「我的脚本」目录,之后随时可以打开执行,相当于自己定制的查询工具
额外说明
如果需要查看具体的修改内容对比,SSMS本身没有全库级的修改内容追踪功能,这时候可以考虑启用SQL Server的变更数据捕获(CDC)或扩展事件,但需要对应的数据库配置权限。
内容的提问来源于stack exchange,提问作者egmfrs
相关产品推荐
相关产品推荐

