我在 SQL Server 2008R2 上运行 SQL Server Profiler。我打开 Profiler,为其提供所需的设置(包括从现在起 24 小时后的停止时间),然后离开。Profiler 从我的桌面运行,它监控的数据库位于某个服务器上。我使用 VPN 连接。我的 VPN 在某个时候失去了连接,我回来后发现 Profiler 已完全停止工作 - 并且该表落后了几个小时。Profiler 不是在服务器上运行吗?Profiler 是桌面应用程序吗?
关于这一点,我需要保持打开状态吗?我认为 Profiler 创建了一个作业,它会一直运行到设置中提到的停止时间。
不要使用探查器。您可以使用 XEvents 或服务器端跟踪并让它只运行特定的持续时间。
我编写了一个进程来运行服务器端跟踪并将结果导入数据库。
Profiler 只是另一个从 SQL Server 捕获请求数据的应用程序。您可以在桌面上运行它,也可以在与您跟踪的 SQL Server 实例相同的服务器上或另一台服务器上运行。如果要通过线路传输跟踪数据,这会导致性能开销。
根据探查器设置,您可以创建跟踪并在 SQL Server 上运行它。这是有关如何操作的文档:
https://learn.microsoft.com/en-us/sql/relational-databases/data-collection/use-sql-server-profiler-to-create-a-sql-trace-collection-set?view=sql-服务器-2017
此跟踪会将数据保存到文件中,您稍后可以使用
sys.fn_trace_gettable