审核SQL Server 2005时,由多个客户端访问sa

我们有一个由多年来开发的各种程序使用的SQL Server 2005数据库。 大多数这些程序使用salogin访问数据库。 我的工作是弄清楚什么系统使用数据库来达到什么目的,所以我们可以开始创build具有适当权限的login或以其他方式pipe理访问。

我想知道,对于给定的连接,login了什么IP以及执行了哪些语句。 我怎样才能得到这个信息,我可以做到这一点,而不会显着减慢数据库服务器?

是的,我相当肯定SQL 2005的完整版本附带的SQL分析器工具将启用跟踪该stream量的客户端IP地址。 如果您正在使用SQL Express,请获取: http : //sqlprofiler.googlepages.com 。 编辑configuration文件跟踪,以便它logging最less的信息,然后追踪任何需要的时间段,并且应该能够将其全部计算出来。

由于您使用的是SQL2005,因此您可以使用LOGON触发器捕获进程使用salogin时的情况。 触发器中可用的EVENTDATA提供了相当多的连接信息,包括连接客户端的主机名或IP。

从那里,你可以创build一个服务器跟踪来找出会话正在做什么。 你可以在触发器内做到这一点 – 我找不到任何说不能做的事情,但我自己也没有尝试过。

我不知道根据IP地址做这个的方法。

一种方法是做到这一点:

  • 从创build用户login开始,赋予它们与sa相同的权限(无论如何他们现在都使用sa)。
  • logging每个用户使用Profiler的情况。 (有一些performance击中)
  • 降低用户login权限。

另一种方法是:

  • 从创build没有权限的用户login开始
  • 与用户运行应用程序,看看哪个访问被拒绝的错误
  • 根据需要授予用户login权限。