我可以杀死这个进程吗?
我的计算机上运行着一些进程数据库服务器占用大量CPU。当我查看有关流程的详细信息时,我得到:
set transaction isolation level read committed
其他详细信息包括:
- 状态:睡眠中
- 开放事务:0
- 命令:等待命令
- 登录时间:12 小时以上
- 最后一批:不到 2 分钟前
我还没有观看该活动最近进行了监控,但当我从服务器管理员那里得到消息说 CPU 运行率接近 100%,而 SQL Server 占据了大部分时,我感到非常好奇。该命令来自不同的(网络)应用程序,但它们都没有实际使用该代码。有些是用 Coldfusion 编写的,有些是用 .NET 编写的。
这个命令是由SQL Server生成的吗?
是什么原因造成的?
终止这些进程安全吗?
Possible Duplicate:
Activity Monitor Problems in SQL Server 2005
I have some processes running on my database server that are taking up enourmous amount of CPU. When I view the detail about the process I get:
set transaction isolation level read committed
The other details include:
- Status: Sleeping
- Open Transactions: 0
- Command: AWAITING COMMAND
- Login Time: 12+ Hours ago
- Last Batch: Less than 2 minutes ago
I haven't been watching the activity monitor lately but when I got word from my server admins that the CPU was running near 100% with SQL Server taking the majority I got very curious. That command is coming from different (web) applications but none of them ever actually use that code. Some are written in Coldfusion and others are in .NET.
Is this command generated by SQL Server?
What is causing it?
Is it safe to kill those processes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的之前的问题的答案仍然适用:
您是否可以杀死它们是不可能的,因为它们是您的应用程序。
Tthe answer from your earlier question still aplies:
Whether you can kill them or not is impossible to tell since they are your applications.
您能为我们提供更多信息吗?
该命令只是在事务启动之前设置了事务的隔离级别以读取提交,并不是问题的原因。
我建议您尝试 SQL Profiler 来找出原因。设置过滤器时要小心,以免收到大量交易。
Can you provide us with more information?
The command only sets the isolation level for the transaction to read commited before the transaction is started and is not the cause of the problem.
I suggest you try SQL profiler to identify the cause. Be careful when you set up filters in case it recieves a large amount of transactions.
同意 Remus Rusanu 的观点,但只是为了澄清你的确切问题:“设置事务隔离级别读取已提交”不是一个“过程”。它是一个声明,规定如何处理来自您的应用程序的声明。
这就是说,作为会话的一部分运行的查询(在 ColdFusion 的情况下,任何特定的 cfquery 除非它们位于 cftransaction 内)将仅读取已提交的数据。您可能会注意到,如果您使用 cftransaction,您会看到不同的事务隔离级别,该级别允许查询读取本地未提交的数据。
Agree with Remus Rusanu but just to clarify your exact question: "set transaction isolation level read committed" is not a "process". it's a statement which dictates how the statements that do come from your app will be processed.
This is saying that queries run as part of your session (in the case of ColdFusion any particular cfquery unless they are inside a cftransaction) will only read committed data. You would probably notice that if you used a cftransaction you would see a different transaction isolation level which allowed the queries to read local uncommitted data.