我注意到我的数据库服务器上有一些可疑活动。我使用这个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远程访问数据库。如果可能,怎么样?
答案 0 :(得分:3)
DBCC FREEPROCCACHE
清除过程缓存。
sys.dm_exec_query_stats
仅报告缓存中的查询。由于内存压力或由于索引或统计信息维护而导致其无效的重新启动计算机或计划是DMV不包含旧查询的其他可能原因。