Spr*_*tty 7 sql-server sql-server-2012
有没有办法查看过去的会议细节(我完全希望答案是“否”)。我试图找出某个应用程序在哪个服务器上运行,该应用程序访问某个数据库。我知道该应用程序在周五晚上的某个时间运行,所以我希望 SQL Server 维护会话历史记录,以便我可以查找相关时间sp_who的详细信息。
就像我说的,我不希望这是可能的,但现在我绝对是在抓着稻草。
提前致谢。
编辑:我最终通过其他方式找到了有问题的服务器;该作业执行了一条 SQL 语句来创建一个文件,然后将该文件通过 FTPd 传输到另一个站点 - 该站点具有 FTP 日志记录,可以为我提供源服务器的名称和 IP 地址。感谢您的回答 - 我只希望我能接受他们,因为他们都提出了很好的观点并提供了很好的建议。
不,SQL Server 不会保留会话活动的历史记录,想象一下它会增长多快!正如您的问题所问,我认为,您从过去检索此信息的唯一希望是:
现在,正如评论中提到的,您当然可以设置一些东西来在将来捕获此活动,因此您不必在应用程序运行时等待反复敲击 F5。您可以使用多种方式,甚至组合使用,具体取决于您是否只关心连接、只关心写入活动、只关心对特定表或数据库的访问等:
除非您配置了第三方监控工具或某种其他类型的活动收集器,否则您不能这样做。如本答案所述,您可能会在以下内容中找到有用的信息plan cache:
SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%'
ORDER BY s.last_execution_time DESC;
Run Code Online (Sandbox Code Playgroud)
但您似乎正在寻找其他信息。
对于未来,您绝对应该考虑使用一些工具SSMS Tools Pack(它不是免费的)或查看Brent Ozar 的这篇文章 - 这是一种完全免费的方式,sp_whoisactive可以通过 Adam Machanic 的免费程序记录您的服务器活动,因此您可以回答此类问题你刚才问的问题。
| 归档时间: |
|
| 查看次数: |
1009 次 |
| 最近记录: |