Tsql 数据库最近更新了吗?

Tsql 数据库最近更新了吗?,tsql,sql-server-2000,Tsql,Sql Server 2000,我正在使用SQL 2000,我需要确定实际使用的是这些数据库中的哪些 有没有SQL脚本可以用来告诉我上次更新数据库的时间?阅读等等 我在谷歌上搜索了一下,结果一无所获 您可以使用事务日志读取器检查数据库中的数据上次修改的时间 对于SQL 2000,我不知道如何知道何时读取数据 您可以做的是在登录数据库时设置触发器,跟踪登录成功的时间,并跟踪相关变量,以找出谁/什么应用程序正在使用数据库。您可以使用事务日志读取器检查数据库中的数据上次修改的时间 对于SQL 2000,我不知道如何知道何时读取数据

我正在使用SQL 2000,我需要确定实际使用的是这些数据库中的哪些

有没有SQL脚本可以用来告诉我上次更新数据库的时间?阅读等等


我在谷歌上搜索了一下,结果一无所获

您可以使用事务日志读取器检查数据库中的数据上次修改的时间

对于SQL 2000,我不知道如何知道何时读取数据


您可以做的是在登录数据库时设置触发器,跟踪登录成功的时间,并跟踪相关变量,以找出谁/什么应用程序正在使用数据库。

您可以使用事务日志读取器检查数据库中的数据上次修改的时间

对于SQL 2000,我不知道如何知道何时读取数据


您可以做的是在登录数据库时设置触发器,跟踪登录成功的时间,并跟踪相关变量,以找出谁/什么应用程序正在使用数据库。

编辑::以下目标是查找后事实上的最后访问日期。关于确定谁在使用哪些数据库,可以使用SQL事件探查器中的正确过滤器对其进行监控。但是,请注意,当过滤器不足时,探查器跟踪可能变得相当大(因此分析速度慢/困难)

对数据库模式的更改,即添加表、列、触发器和其他此类对象,通常会在系统表/视图中留下“已标注日期”的轨迹(如果需要,可以提供更多详细信息)

但是,除非数据本身包含各种时间戳,否则通常很少有可靠的方法知道数据何时更改,除非恢复模型涉及将所有此类更改保留到日志中。在这种情况下,您需要一些工具来“反编译”日志数据


关于检测“读取”活动。。。艰难的一个。可能会有一些类似计算机取证的把戏,但同样,恐怕没有简单的解决方案(除了能够在服务器活动中看到所有仍然活动的连接的最后一个查询;显然是一个非常短暂的事情;-)

编辑:下面的目标是事后查找最后访问日期。关于确定谁在使用哪些数据库,可以使用SQL事件探查器中的正确过滤器对其进行监控。但是,请注意,当过滤器不足时,探查器跟踪可能变得相当大(因此分析速度慢/困难)

对数据库模式的更改,即添加表、列、触发器和其他此类对象,通常会在系统表/视图中留下“已标注日期”的轨迹(如果需要,可以提供更多详细信息)

但是,除非数据本身包含各种时间戳,否则通常很少有可靠的方法知道数据何时更改,除非恢复模型涉及将所有此类更改保留到日志中。在这种情况下,您需要一些工具来“反编译”日志数据


关于检测“读取”活动。。。艰难的一个。可能会有一些类似计算机取证的技巧,但同样,恐怕也没有简单的解决方案(除了能够在服务器活动中看到所有仍处于活动状态的连接的最后一个查询;显然是非常短暂的;-)

如果数据库已完全记录,请创建一个新的事务日志备份,并检查其大小。日志备份将有一个固定的小长度,即自上一次事务日志备份以来没有对数据库进行任何更改,如果有更改,该长度将更大


这不是一个非常精确的方法,但它可以很容易地检查,并且可能对您有效。

如果您的数据库已完全记录,请创建一个新的事务日志备份,并检查其大小。日志备份将有一个固定的小长度,即自上一次事务日志备份以来没有对数据库进行任何更改,如果有更改,该长度将更大


这不是一个非常精确的方法,但是它可以很容易地检查,并且可能对您有用。

如果我怀疑数据库实际被使用,我通常会运行探查器。如果没有活动,只需将其设置为只读或脱机。

如果怀疑数据库实际被使用,我通常会运行探查器。如果没有活动,则只需将其设置为只读或脱机。

停止em并查看是否有人参与complains@mcintyre321:嗯,我想知道汽车地板上的这个踏板是什么东西。让我把它断开,看看是否有人真的在踩它。我可以只为我想知道的那些数据库运行配置文件跟踪,我不能吗?你可以运行一个探查器跟踪-除了我要做服务器端跟踪,只需打开一组最小的标志。停止em,看看是否有人complains@mcintyre321:嗯,我想知道汽车地板上的这个踏板是什么东西。让我断开它,看看是否有人真的在踩它。我可以只为我想知道的那些数据库运行配置文件跟踪,不是吗?你可以运行配置文件跟踪-除了我会执行服务器端跟踪,只打开一组最小的标志。