SQL Server有Default Trace默认跟踪,数据库记录信息到log.trc文件,可以查看trace_event_id,46表示Create对象(Object:Created),47表示Drop对象(Object:Deleted),93表示日志文件自动增长(Log File Auto Grow),164表示Alter对象(Object:Altered),20表示错误日志(Audit Login Failed)。
虽然可以通过上面的方式找到相关的操作,但是它有两个缺点:
1) log.trc文件是滚动更新文件,所有有可能会被系统删除,找不了太久的数据;
2) 有些操作可能是后知后觉,出了问题才会去找问题,应该主动去监控这些DDL;
可以使用DDL触发器主动监控DDL语句的执行,当有对数据库执行DDL就会触发,把这些信息保存到表中,并且把操作用户的HostName和修改的T-SQL以邮件的形式发送到指定的邮件。
SELECT * FROM V$SQL
可以查看所有历史记录。
用记事本编辑器建立一个文本文件,把要执行的语句先写在文本文件里,然后通过粘贴在PL/SQL中运行,并把文本文件保存下来,过后随时随地就能查看当时运行过的语句。
除了ctrl+e没其它办法
那就要自己存脚本了