Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我们可以按行监视数据库表读取操作吗?_Sql Server_Database_Monitoring - Fatal编程技术网

Sql server 我们可以按行监视数据库表读取操作吗?

Sql server 我们可以按行监视数据库表读取操作吗?,sql-server,database,monitoring,Sql Server,Database,Monitoring,我想在SQLServer2008数据库中的一个表上使用“读取操作”进行监视 所以我想知道表中的哪一行是在什么时候获取的 我不可能登录我的应用程序 如果我理解您的意思是正确的,您想知道每次向最终用户“显示”您的数据吗?您可以使用存储过程来运行select语句(GETDATA),但作为第二个语句,可以使用时间戳和您感兴趣的任何信息将insert插入日志表 CREATE PROC get_data AS BEGIN INSERT INTO log_table(timestamp,info1,

我想在SQLServer2008数据库中的一个表上使用“读取操作”进行监视

所以我想知道表中的哪一行是在什么时候获取的


我不可能登录我的应用程序

如果我理解您的意思是正确的,您想知道每次向最终用户“显示”您的数据吗?您可以使用存储过程来运行select语句(GETDATA),但作为第二个语句,可以使用时间戳和您感兴趣的任何信息将insert插入日志表

CREATE PROC get_data
AS
BEGIN

    INSERT INTO log_table(timestamp,info1,info2)
    VALUES (GETDATE(), info1, info2)

    SELECT col1,col2
    FROM my_data

END
GO

类似这样的东西。

什么构成“阅读”?您的意思是当任何
SELECT
操作导致从一行读取数据时,都要进行日志记录吗?如果行最初包含在子查询中,但在外部查询中被排除,该怎么办?对于仍会导致读取的非选择操作(例如
更新
合并
)如何处理?那公开行级数据或备份操作的页面级数据库操作呢?您好,是的,我指的是“选择”查询。对于后台,这是我的标准表,我不会在那里操作任何更新、合并、删除、编辑命令。在我的子查询的特殊情况下,不会发生排除。所以我想在这个表上运行所有的select查询,你想只监视adhoc TSQL,还是同时监视存储过程对该表的访问?嗨,我需要访问TSQL以及存储过程alsoOP下面的注释:“该数据库上没有索引。”-呃,什么?你有更大的问题…嗨,罗斯兰,我正在开发一个有将近15年历史的非常大的软件。我甚至不知道这个软件在多少地方运行selectquery。所以我需要在这张桌子上安装一种外部日志系统。上面的解决方案对我来说不起作用。我明白了,那么你可能可以通过查看索引统计数据(希望你有一些聚集的数据)并经常重置它们(或收集它们)来获得一些想法,因为索引不是在那个数据库上完成的。是的,这是愚蠢的,但在我的情况下是正确的。你可以使用探查器来跟踪它,但我不建议在生产中这样做,因为这将是沉重的服务器。