【问题标题】:Can I find the user who did specific change on database structure/procedures?我可以找到对数据库结构/程序进行特定更改的用户吗?
【发布时间】:2011-12-21 01:38:02
【问题描述】:

我试图找出谁是对 Microsoft SQL 2008 R@ 数据库结构进行特定更改的人(我有一个已更改的过程)。如果我有 DBO 访问权限,这可能吗?任何类型的日志都可以向我显示进行更改的人员的 SQL/Windows 登录用户名、更改时间以及更改内容?服务器的 IT 管理员可以使用此类日志吗?如果有的话叫什么名字?

谢谢!

【问题讨论】:

  • stackoverflow.com/questions/5579223/… - 它告诉你什么时候,而不是谁。开始将数据库置于源代码控制之下可能会很好。
  • 如果你有 SQL 记录的登录时间和成功登录,你也许可以缩小范围。

标签: sql-server sql-server-2008-r2 audit logging


【解决方案1】:

简短的回答是,您无法查看更新的历史数据,除非您在更改发生时已经安装了一些审核系统。

您可以做的是尝试使用诸如ApexSQL Log 之类的第三方工具读取事务日志,并检查是否有这样的信息写在 t.记录。

我知道事务日志中有很多历史数据可用于审计,但我不能 100% 确定找到用户名。

如果您想设置一个系统来跟踪此情况,您可以尝试DDL triggersSQL Traces 等等……

【讨论】:

    【解决方案2】:

    也许可以使用默认跟踪。查看以下博客:

    http://www.eraofdata.com/blog/tag/default-trace/

    向下滚动到“示例 5:找出谁进行了更改”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 2012-05-04
      • 1970-01-01
      • 2018-07-07
      相关资源
      最近更新 更多