Ang*_*ley 5 t-sql sql-server sql-server-2008-r2
我想知道以下SQL代码是否会存储在日志中,所以我们可以回顾一下将来查看数据库时用户输入的内容的日期?
BEGIN TRAN
SELECT *
FROM pictures p
INNER JOIN product pr
ON p.item_id = pr.item_id
ROLLBACK TRAN
Run Code Online (Sandbox Code Playgroud)
我认为如果代码包含在rollback子句中,那么用户输入的内容的记录是否都不可见?
简而言之,不。由于没有发生数据更改,因此无需在日志中存储任何内容。事实上,这ROLLBACK并不重要,即使它被COMMIT编辑,仍然没有发生数据更改,因此没有日志记录。
DELETE,UPDATE并被INSERT记录。SELECT不是。如果您想记录此类查询,您可以使用跟踪、使用 SQL 审核、构建您自己的日志解决方案或使用第三方产品工具。
以下是有关不同技术的一些信息:
http://solutioncenter.apexsql.com/auditing-select-statements-on-sql-server/
以下是有关 SQL 审计的更多信息:
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |