db7 Asked: 2011-04-10 17:19:25 +0800 CST2011-04-10 17:19:25 +0800 CST 2011-04-10 17:19:25 +0800 CST 是什么击中了你的数据库? 772 有什么方法可以快速找出正在攻击您的数据库的内容,尤其是当日志文件变得异常时。SQL 探查器?如果是这样,如何? sql-server-2005 profiler 4 个回答 Voted Best Answer SQLRockstar 2011-04-11T18:22:50+08:002011-04-11T18:22:50+08:00 找出正在攻击数据库的最快(也是最便宜)的方法是使用 sp_whoIsActive ( http://whoisactive.com/ ) Sankar Reddy 2011-04-10T17:43:39+08:002011-04-10T17:43:39+08:00 你能添加更多细节吗?我希望您使用的是 SQL Server,哪个版本 + 版本?您的日志文件是否已满?您是否定期备份事务日志?下面的结果是什么? select name, log_reuse_wait_desc from sys.databases DBCC OPENTRAN() 您可以使用分析器跟踪所有当前活动,但在繁忙的系统上,它会损害性能吗?您知道如何进行服务器端跟踪吗?您可以在下面尝试。但是您需要分享更多详细信息才能获得良好的回应。 http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/ Manjot 2011-04-11T19:34:11+08:002011-04-11T19:34:11+08:00 如果您想为此使用探查器而不是服务器上的资源密集型,我会执行以下操作: 启动分析器,连接到服务器并选择一个空白跟踪 添加事件:安全审计 -> 审计架构对象访问事件并选择这些列:ApplicationName、ObjectName、LoginName、Permissions、DatabaseID、DatabaseName、SPID、ObjectType、OwnerName、StartTime 编写脚本 在脚本中,为@tracefile、@maxfilesize 变量分配一个文件名,并将翻转值放入 sp_trace_create。通常我将最大文件大小设置为 10 (MB),然后当它填满时,如果翻转位设置为 2,SQL 会创建一个新文件。 然后通过 TSQL 从远程位置运行它 阅读THIS for sp_trace_create 存储过程 ik_zelf 2011-04-11T02:36:20+08:002011-04-11T02:36:20+08:00 在 Oracle 中,如果您有可用的诊断包,只需转到 Grid Control 或 DBConsole 中的 Performance 选项卡,查看当前哪些会话正在使用您的数据库。如果它发生在很久以前,请深入研究 awr 报告并根据各种指标找到最重要的 SQL。如果您更多地提及您正在使用的实际数据库,例如品牌,有时是平台和版本,这将有所帮助。
找出正在攻击数据库的最快(也是最便宜)的方法是使用 sp_whoIsActive ( http://whoisactive.com/ )
你能添加更多细节吗?我希望您使用的是 SQL Server,哪个版本 + 版本?您的日志文件是否已满?您是否定期备份事务日志?下面的结果是什么?
您可以使用分析器跟踪所有当前活动,但在繁忙的系统上,它会损害性能吗?您知道如何进行服务器端跟踪吗?您可以在下面尝试。但是您需要分享更多详细信息才能获得良好的回应。
http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/
如果您想为此使用探查器而不是服务器上的资源密集型,我会执行以下操作:
阅读THIS for sp_trace_create 存储过程
在 Oracle 中,如果您有可用的诊断包,只需转到 Grid Control 或 DBConsole 中的 Performance 选项卡,查看当前哪些会话正在使用您的数据库。如果它发生在很久以前,请深入研究 awr 报告并根据各种指标找到最重要的 SQL。如果您更多地提及您正在使用的实际数据库,例如品牌,有时是平台和版本,这将有所帮助。