相关疑难解决方法(0)

默认情况下,我可以从 SQL Server 获取哪些事件信息?

我经常看到这样的问题,人们想知道某件事是否发生、何时发生或是谁执行的。在很多情况下,SQL Server 不会自行跟踪此信息。例如:

  • 谁最后执行了存储过程dbo.MyProcedure
  • 谁更新salarydbo.Employees表中的列?
  • 谁最后dbo.Orders从 Management Studio查询了表?

但是,SQL Server默认临时跟踪其他几个事件,并且可以在本机回答有关问题,例如:

  • AdventureWorks 数据库中上一次自动增长是什么时候?用了多长时间?
  • 谁删除了dbo.EmployeeAuditData表,何时删除?
  • 今天发生了多少与内存相关的错误?

我如何获得这些信息,以及它可以保持多久?

sql-server extended-events

61
推荐指数
1
解决办法
2万
查看次数

如何在SQL中获取使用用户名执行的查询历史记录

我可以使用以下方法执行查询:

SELECT deqs.last_execution_time AS [Time]
    ,dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC
Run Code Online (Sandbox Code Playgroud)

但我也在寻找username执行这些查询的列。

sql-server-2008 sql-server audit

14
推荐指数
1
解决办法
8万
查看次数

SQL 探查器是否会影响服务器性能?

我面临的问题是 sql server 2008 因某些高负载而失败。我需要找到那个负载情况并需要优化代码以便它可以处理负载。我在 Internet 上发现 SQL 分析器可用于跟踪数据库交互,稍后可以对其进行分析以找到问题发生的确切点。我还发现了如何启动 sql 分析器。但现在我的问题是,通过启动 sql profiler 我会影响服务器性能吗?

performance sql-server-2008 sql-server profiler

13
推荐指数
2
解决办法
2万
查看次数