是否有可能清除日志中使用查询的SQL Server 2008?(Is it possible to

2019-10-17 11:52发布

我发现我的数据库服务器上的一些可疑的活动。 我检查使用该T-SQL语句我的服务器上执行的最后300个最近的查询:

SELECT TOP 50 * 
FROM
    (SELECT 
        COALESCE(OBJECT_NAME(s2.objectid),'Ad-Hoc') AS ProcName,
        execution_count, s2.objectid,
        (SELECT TOP 1 SUBSTRING(s2.TEXT,statement_start_offset / 2+1 ,
           ( (CASE WHEN statement_end_offset = -1
                    THEN (LEN(CONVERT(NVARCHAR(MAX),s2.TEXT)) * 2)
                    ELSE statement_end_offset 
              END)- statement_start_offset) / 2+1)) AS sql_statement,
    last_execution_time
FROM 
    sys.dm_exec_query_stats AS s1
CROSS APPLY 
    sys.dm_exec_sql_text(sql_handle) AS s2 ) x
WHERE 
    sql_statement NOT like 'SELECT TOP 50 * FROM(SELECT %'
--and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1
ORDER BY 
    last_execution_time DESC 

我相信昨天有人从我的服务器删除日志。

我想知道这是否可以删除最近的查询与查询或远程访问数据库SQL Server Management Studio中的日志。 如果可能的话,怎么样?

Answer 1:

DBCC FREEPROCCACHE清除过程缓存。

sys.dm_exec_query_stats仅在缓存中的查询报告。 重新启动机器或计划被刷新由于内存压力,或者因为他们已经失效由于索引或统计信息维护是为什么DMV将不包含旧的查询其他可能的原因。



文章来源: Is it possible to clear logs in SQL Server 2008 using a query?