0
A
回答
2
您可以通过许多不同的方式实现您的目标。如果您想要,您可以从SQL Server事务日志中读取删除操作,但是如果您处于完全恢复模式,则在每次事务日志备份后您都会“松动”它。在简单恢复模式中,您无法控制事务日志内容。
要查找删除操作为特定的表,你可以使用下面的查询:
DECLARE @MonitoredTable sysname
SET @MonitoredTable = 'YouTable'
SELECT
u.[name] AS UserName
, l.[Begin Time] AS TransactionStartTime
FROM
fn_dblog(NULL, NULL) l
INNER JOIN
(
SELECT
[Transaction ID]
FROM
fn_dblog(NULL, NULL)
WHERE
AllocUnitName LIKE @MonitoredTable + '%'
AND
Operation = 'LOP_DELETE_ROWS'
) deletes
ON deletes.[Transaction ID] = l.[Transaction ID]
INNER JOIN
sysusers u
ON u.[sid] = l.[Transaction SID]
你可以使用另一种方法是编写“审计触发器”,或者你可以直接使用SQL Server的审计功能/ SQL Server扩展事件在该顶点网页以及解释:
+0
请注意fn_dblog()是一个未记录的功能 –
相关问题
- 1. SQL Server更改跟踪已清除跟踪信息 - 错误
- 2. 手动删除SQL Server中的更改跟踪记录
- 3. SQL Server上的跟踪视图
- 4. SQL Server 2008更改跟踪
- 5. 跟踪Microsoft SQL Server活动
- 6. SQL Server:跟踪表插入
- 7. SQL Server 2008更改跟踪
- 8. SQL Server:跟踪标志4135
- 9. SQL Server:表更改跟踪
- 10. 跟踪表中删除
- 11. 删除在SQL Server
- 12. 删除在SQL Server
- 13. 跟踪XML节点在SQL Server中的SQL Server这样的流
- 14. 同步错误:“SQL Server更改跟踪已清理跟踪...”
- 15. 在客户端跟踪Cookie JSESSIONID删除
- 16. 在LDAP中跟踪删除的记录
- 17. 如何跟踪删除数据的SQL Server中的登录详细信息
- 18. 在SQL Server上优化删除
- 19. 如何使用SQL Server Profiler跟踪
- 20. MS SQL Server跟踪日志集合
- 21. SQL Server 2005移动版中的跟踪
- 22. 跟踪SQL Server 2005元变化?
- 23. SQL Server作业(存储过程)跟踪
- 24. SQL Server跟踪DDL创建用户
- 25. Oracle 10g的SQL Server跟踪等效吗?
- 26. SQL Server 2005中的更改跟踪
- 27. Sql server:跟踪视图中的计数?
- 28. SQL Server 2008跟踪列过滤器
- 29. 如何编辑SQL Server跟踪文件?
- 30. SQL Server删除表
您可以使用触发器。 – i486
您可以使用谷歌 –
您可以使用SQL Server更改数据捕获或更改跟踪 - https://msdn.microsoft.com/zh-CN/library/bb933994.aspx –