新聞中心
詳細(xì)信息
| Attribute | 值 |
|---|---|
| 產(chǎn)品名稱 | SQL Server |
| 事件 ID | 3617 |
| 事件源 | MSSQLSERVER |
| 組件 | SQLEngine |
| 符號名稱 | SYS_ATTN |
| 消息正文 |
說明
當(dāng)應(yīng)用程序或用戶取消了執(zhí)行過程中的查詢或該連接中斷時,將引發(fā)錯誤 3617。 應(yīng)用程序中的此查詢?nèi)∠麑?dǎo)致數(shù)據(jù)庫引擎中發(fā)生 Attention 事件。 Attention 事件是一個SQL Server事件,用于注冊客戶端應(yīng)用程序終止查詢執(zhí)行的請求。 可以使用擴展事件或 SQL 跟蹤注意事件類跟蹤SQL Server側(cè)的 Attention 事件。 Attention 在內(nèi)部顯示為錯誤 3617。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站制作、西安網(wǎng)絡(luò)推廣、小程序定制開發(fā)、西安網(wǎng)絡(luò)營銷、西安企業(yè)策劃、西安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供西安建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
請注意 (查詢?nèi)∠? 是SQL Server處理的最常用 TDS 事件之一。 當(dāng)查詢?nèi)∠埱蟮竭_(dá)時,會為會話/請求設(shè)置 Attention 位。 隨著會話處理暫停點,會選取并遵循 Attention。 如需詳細(xì)了解 Attention 及其與其他組件的相互影響,請參閱任務(wù)、工作器、線程、計劃程序、會話、連接、請求;這些是什么含義?
用戶操作
原因摘要:
- 確保查詢在預(yù)期持續(xù)時間內(nèi)完成(小于配置的查詢超時值)
- 增大查詢或命令超時
- 查看用戶是否已手動取消查詢執(zhí)行
- 查明應(yīng)用程序或操作系統(tǒng)是否意外終止
確保查詢在預(yù)期持續(xù)時間內(nèi)完成(小于配置的查詢超時值): Attention 事件的最常見原因是由于超過查詢超時值,導(dǎo)致應(yīng)用程序自動終止查詢。 如果查詢/命令超時值設(shè)置為 30 秒,并且該查詢不會將任何數(shù)據(jù)包返回給客戶端應(yīng)用程序,則后者將取消查詢。 在這種情況下,最好的方法是了解查詢花費很長時間的原因,并采取適當(dāng)?shù)拇胧﹣頊p少查詢持續(xù)時間。
增大查詢或命令超時值: 如果確定已取消的查詢正在預(yù)先確定的基準(zhǔn)持續(xù)時間內(nèi)運行,但仍達(dá)到命令超時,則可以考慮在數(shù)據(jù)庫應(yīng)用程序中增大超時值。
查看用戶是否手動取消了查詢執(zhí)行: 在某些情況下,可能只是因為用戶取消了查詢而引發(fā) Attention 事件。 在這種情況下,最好是確定用戶期望是否超過查詢的實際速度,通過調(diào)整查詢或記錄預(yù)期基線來解決此問題。
查明應(yīng)用程序或操作系統(tǒng)是否意外終止了查詢或連接,或應(yīng)用程序本身是否已終止: 調(diào)查情況以了解應(yīng)用程序端發(fā)生了什么情況。 檢查應(yīng)用程序日志或系統(tǒng)日志可提供可能的根本原因線索。
Attention 和事務(wù)
通常情況下,當(dāng)應(yīng)用程序達(dá)到查詢超時并取消查詢時,將引發(fā) Attention 事件。 發(fā)生 Attention 事件時,SQL Server不會自動回滾打開的事務(wù)。 應(yīng)用程序負(fù)責(zé)回退事務(wù),有幾種常見的處理方法:
-
通過在連接到 SQL Server 時啟用 SET XACT_ABORT ON 來控制事務(wù)回滾。 如果應(yīng)用程序未執(zhí)行此操作,則會產(chǎn)生孤立的事務(wù)結(jié)果。
-
更常見的情況是,應(yīng)用程序使用
try.. catch... finally處理任何錯誤。 在 try 塊中打開事務(wù),如果發(fā)生錯誤,則在 catch 或 finally 塊中回退事務(wù)。
以下是示例:
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);
}
}
}
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)科技已有多年成都網(wǎng)站建設(shè)經(jīng)驗,專注網(wǎng)站建設(shè),網(wǎng)站設(shè)計,為眾多單位提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計服務(wù),有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)建站。
文章標(biāo)題:SQLServer錯誤3617故障處理修復(fù)支持遠(yuǎn)程
文章分享:http://www.5511xx.com/article/dhhjspo.html


咨詢
建站咨詢
