Attribute | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 3617 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | SYS_ATTN |
消息正文 |
当应用程序或用户取消了执行过程中的查询或该连接中断时,将引发错误 3617。 应用程序中的此查询取消导致数据库引擎中发生 Attention 事件。 Attention 事件是一个SQL Server事件,用于注册客户端应用程序终止查询执行的请求。 可以使用扩展事件或 SQL 跟踪注意事件类跟踪SQL Server侧的 Attention 事件。 Attention 在内部显示为错误 3617。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、西安网络推广、小程序定制开发、西安网络营销、西安企业策划、西安品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供西安建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
请注意 (查询取消) 是SQL Server处理的最常用 TDS 事件之一。 当查询取消请求到达时,会为会话/请求设置 Attention 位。 随着会话处理暂停点,会选取并遵循 Attention。 如需详细了解 Attention 及其与其他组件的相互影响,请参阅任务、工作器、线程、计划程序、会话、连接、请求;这些是什么含义?
原因摘要:
确保查询在预期持续时间内完成(小于配置的查询超时值): Attention 事件的最常见原因是由于超过查询超时值,导致应用程序自动终止查询。 如果查询/命令超时值设置为 30 秒,并且该查询不会将任何数据包返回给客户端应用程序,则后者将取消查询。 在这种情况下,最好的方法是了解查询花费很长时间的原因,并采取适当的措施来减少查询持续时间。
增大查询或命令超时值: 如果确定已取消的查询正在预先确定的基准持续时间内运行,但仍达到命令超时,则可以考虑在数据库应用程序中增大超时值。
查看用户是否手动取消了查询执行: 在某些情况下,可能只是因为用户取消了查询而引发 Attention 事件。 在这种情况下,最好是确定用户期望是否超过查询的实际速度,通过调整查询或记录预期基线来解决此问题。
查明应用程序或操作系统是否意外终止了查询或连接,或应用程序本身是否已终止: 调查情况以了解应用程序端发生了什么情况。 检查应用程序日志或系统日志可提供可能的根本原因线索。
通常情况下,当应用程序达到查询超时并取消查询时,将引发 Attention 事件。 发生 Attention 事件时,SQL Server不会自动回滚打开的事务。 应用程序负责回退事务,有几种常见的处理方法:
通过在连接到 SQL Server 时启用 SET XACT_ABORT ON 来控制事务回滚。 如果应用程序未执行此操作,则会产生孤立的事务结果。
更常见的情况是,应用程序使用 try.. catch... finally
处理任何错误。 在 try 块中打开事务,如果发生错误,则在 catch 或 finally 块中回退事务。
以下是示例:
using (SqlConnection connection = new SqlConnection(sqlConnectionString))
{
SqlTransaction transaction;
SqlCommand command = connection.CreateCommand();
connection.Open();
transaction = connection.BeginTransaction("UpdateTran_Routine1");
command.Connection = connection;
command.Transaction = transaction;
try
{
//update one of the tables
command.CommandText = "update dl_tab1 set col1 = 987";
command.ExecuteNonQuery();
transaction.Commit();
}
catch (SqlException ex)
{
// Attempt to roll back the transaction.
try
{
transaction.Rollback();
}
catch (Exception ex2)
{
// This catch block will handle any errors that may have occurred
// on the server that would cause the rollback to fail, such as
// a closed connection.
Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
Console.WriteLine(" Message: {0}", ex2.Message);
}
}
}
成都网站建设公司创新互联科技已有多年成都网站建设经验,专注网站建设,网站设计,为众多单位提供网站建设、网站设计服务,有关企业网站制作方案、改版、费用等问题,请联系成都创新互联建站。
网站标题:SQLServer错误3617故障处理修复支持远程
文章转载:http://www.gawzjz.com/qtweb/news15/198465.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联