2010-08-24 113 views
2

我有一个非常奇怪和复杂的情况。我的数据正从我的SQL Server表中删除,并且我不确定应用程序是什么。我希望能够跟踪这一点。跟踪Microsoft SQL Server活动

由于我确信你在想如何在这种情况下找到自己,下面是一些背景知识。我们有两台服务器,分别运行IIS6和SQL Server 2005的Web和数据库。他们是由以前的开发人员设置的,他们离开公司时没有给我任何介绍给系统,所以我留下了“狩猎”的一切......我一直能够自己找出大部分系统,除此之外,这仍然是一个谜。我所知道的肯定是这样的:

  1. 数据正在在设定的时间每天删除(我已经设置的触发捕捉到了这个)
  2. 它不是一个SQL Server代理作业
  3. 这是不是Windows计划任务
  4. 它不是一个Windows服务
  5. 所有数据库的登录信息与SA用户这样做的登录历史记录不能帮我......(再次,我没有设置此)

我怎么调试这样的东西?如果有的话,我想知道这是来自运行在数据库服务器上的东西,还是来自外部源的请求。请帮助:-)

回答

1

正如您所知道的那样,您应该在当时设置一个SQL Profiler跟踪以捕获正在发送的语句。

这将向您显示正在发送的SQL,连接的spid,用户名,连接发送的应用程序名称以及其他有用的信息来追踪罪魁祸首。

如果它发生的时间是不是方便你这样做,你可以脚本SQL痕迹(比反正运行完整的GUI更轻巧)

编辑:使用而不是当它要小心记录如此多的信息,导致您无法访问服务器。例如,您可以过滤感兴趣的数据库上的活动。