读书人

各位有没有什么方式 可以查询到最近一

发布时间: 2012-06-15 19:37:05 作者: rapoo

各位有没有什么方式 可以查询到最近一周更新数据库的语句?
最近里那个天数据库数据被无故更新,想知道更新了哪些地方,
如果查询?

[解决办法]
安装Log Explorer
如果日志什么的没清除,是可以查到的
可以查到除了truncate以为的所有语句,是服务器上常用的还原SQL操作软件。
[解决办法]

探讨
找到了一个ApexSQL软件,
如果数据库日志模式不是Simple 而是Full 模式的话
可以查询所有的Insert/Update/Delete 的Transaction事件记录
而且给出 redo/undo 脚本...

[解决办法]
使用“DDL 触发器”可以记录每个DDL操作的详情。详细用法看联机丛书。网上也有相关的代码,我的代码放服务器了,暂时拿不了。
[解决办法]
这个好像不行吧
[解决办法]
表结构被改了的话,就用DDL触发器。
表数据被改了的话,可以用INSERT和UPDATE审计查看所有数据库操作语句和操作用户。
给你个Select审计的例子
SQL code
USE masterCREATE SERVER AUDIT testAudit TO FILE(FILEPATH='D:\TempSelectAudit\')GOCREATE DATABASE AUDIT SPECIFICATION testAudSpec FOR SERVER AUDIT testAuditADD (SELECT ON HumanResources.Employee BY Public)GOUSE masterSELECT is_state_enabled,* FROM sys.server_file_auditsUSE AdventureWorksSELECT is_state_enabled,* FROM sys.database_audit_specificationsGOUSE masterALTER SERVER AUDIT testAudit WITH (STATE=ON)GOUSE AdventureWorksALTER DATABASE AUDIT SPECIFICATION testAudSpec WITH (STATE=ON)GOSELECT session_server_principal_name, statement, *FROM fn_get_audit_file ('D:\TempSelectAudit\*',NULL, NULL) 

读书人网 >SQL Server

热点推荐