读书人

SQL server怎么知道用户多久没有对数据

发布时间: 2012-08-28 12:37:01 作者: rapoo

SQL server怎样知道用户多久没有对数据库进行访问与操作
SQL server怎样知道用户多久没有对数据库进行访问与操作,如select 、insert、update、delete、truncate table等(执行任何数据库命令)?
谢谢

[解决办法]
可以去查看数据库的日志(LOG),或者跟踪索引

select * from sys.dm_db_index_usage_stats where user_seeks=0 and user_scans =0 ;


[解决办法]

SQL code
--日志有,但研究都是的什玩意dbcc log(yourdatabase,1)dbcc log(yourdatabase,2)dbcc log(yourdatabase,3)dbcc log(yourdatabase,4)/*上如果想些,可以在事件器,也可以在模式器行相信息*/
[解决办法]
写个登录触发器,在触发器中记录用户登录时间。
[解决办法]
SQL code
--创建登录用户表CREATE TABLE logoninfo(    logonname VARCHAR(100),    logondate DATETIME)GOALTER trigger trg_deny_logon on all server for logonas        INSERT INTO test.dbo.logoninfo VALUES (original_login(),GETDATE())go
[解决办法]
用fn_dblog()看到语句比较困难了,现在只有第三方的工具可以解析SQL Server Log,当然网上也有很多人自己写的解析SQL Server Log的,但是我测试过几个都是有问题的。

如果你要监控某个表的操作,可以用Databaes Aduit,还可以对用户进行Filter.

读书人网 >SQL Server

热点推荐