【问题标题】:How can I find out which tables and stored procedures a database user has accessed?如何找出数据库用户访问了哪些表和存储过程?
【发布时间】:2019-09-04 18:03:22
【问题描述】:

有没有办法找出用户访问了哪些表和存储过程?请注意,这是用户已经实际访问的内容,而不是他们可以访问的内容。

对于表,是否也可以知道访问是读还是写?

我想要此信息来确定可以为该用户删除哪些数据库权限。

【问题讨论】:

  • 请在投反对票之前发表评论并提供一些建设性的反馈。我试图清楚和简洁地说明我的要求,但如果我可以扩展任何内容,请告诉我,我会编辑这个问题。我用谷歌搜索了一段时间,找不到任何人问同样的问题。
  • 查看 ApexSQL 审计,我是一名开发人员,自己不使用审计工具,但我的 DBA 说特定工具(Apex 有很多)允许审计所有更改,并且可以记录单独的 SELECT 和 EXEC 语句。我们实际上并没有这样做,所以我不能说它的效果如何,但他说这是一种选择。
  • @RobertSheahan 对此表示感谢。我将首先调查 SQLGeorge 作为答案发布的内容,因为它是内置的,因此不涉及任何成本。

标签: sql sql-server sql-server-2014


【解决方案1】:

这是可能的,但不是过去。在 SQL Server 2014 上,您可以设置特定的监控任务(称为“审计”),以便从现在开始收集您想要的访问数据。

【讨论】:

猜你喜欢
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多