【问题标题】:Azure SQL DW deadlock inside DMSDMS 中的 Azure SQL DW 死锁
【发布时间】:2016-02-12 18:17:32
【问题描述】:

在截断和插入数百万行的几个较大的存储过程中,我们至少有 30% 或更多的时间在 DMS 中遇到死锁。但是,只有一个查询在运行,所以我看不出死锁是我的错:

Msg 110802, Level 16, State 1, Line 1
110802;An internal DMS error occurred that caused this operation to fail. Details: Exception: Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.DmsSqlNativeException, Message: SqlNativeBufferReader.Run, error in OdbcExecuteQuery: SqlState: 40001, NativeError: 1205, 'Error calling: SQLExecDirect(this->GetHstmt(), (SQLWCHAR *)statementText, SQL_NTS), SQL return code: -1 | SQL Error Info: SrvrMsgState: 71, SrvrSeverity: 13,  Error <1>: ErrorMsg: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Transaction (Process ID 2265) was deadlocked on lock | generic waitable object resources with another process and has been chosen as the deadlock victim. Rerun the transaction. | Error calling: pReadConn->ExecuteQuery(statementText, bufferFormat) | state: FFFF, number: 7801, active connections: 120', Connection String: Driver={pdwodbc};APP=TypeC01-DmsNativeReader:DB3\mpdwsvc (13732)-ODBC;Trusted_Connection=yes;AutoTranslate=no;Server=\\.\pipe\DB.3-b6c0a7b26544\sql\query

还有:

110802;An internal DMS error occurred that caused this operation to fail. Details: Exception: Microsoft.SqlServer.DataWarehouse.DataMovement.Workers.DmsSqlNativeException, Message: SqlNativeBufferReader.Run, error in OdbcExecuteQuery: SqlState: 40001, NativeError: 1205, 'Error calling: SQLExecDirect(this->GetHstmt(), (SQLWCHAR *)statementText, SQL_NTS), SQL return code: -1 | SQL Error Info: SrvrMsgState: 71, SrvrSeverity: 13,  Error <1>: ErrorMsg: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Transaction (Process ID 804) was deadlocked on lock | generic waitable object resources with another process and has been chosen as the deadlock victim. Rerun the transaction. | Error calling: pReadConn->ExecuteQuery(statementText, bufferFormat) | state: FFFF, number: 8106, active connections: 240', Connection String: Driver={pdwodbc};APP=TypeC01-DmsNativeReader:DB38\mpdwsvc (14728)-ODBC;Trusted_Connection=yes;AutoTranslate=no;Server=\\.\pipe\DB.38-b6c0a7b26544\sql\query

这是否指向需要检查或修复的明显问题?还是 Azure 支持案例是解决问题的最佳途径?

更新:支持案例 115111713384329 已针对此问题开放

更新:我们的 SQL DW 于 2016 年 3 月 4 日获得了新的更新,据说可以解决此问题。 (我不能按需复制它,所以我不能肯定地说。)如果你运行“select @@version”然后 10.0.8224.5 或更高版本应该有修复。如果您还没有修复,我想打开一个支持案例并请求它或等待几周会得到修复。

【问题讨论】:

  • 问题解决了吗?决议是什么?
  • @JosephIdziorek 支持案例仍在进行中,但我认为很快就会部署修复程序。将保持此线程发布。
  • @JosephIdziorek 我用一些新闻更新了帖子
  • 感谢您的更新:)

标签: azure-sqldw


【解决方案1】:

在这种情况下,最好创建一个 Azure 支持案例。如果您可以共享您的存储过程,那将有助于我们找到根本原因。

【讨论】:

  • 这是一个链接,其中包含有关如何为 SQL DW 创建 Azure 支持案例的说明,azure.microsoft.com/en-us/documentation/articles/…。如果您没有创建工单所需的支持计划,请直接通过 sqldwfeedback@microsoft.com 向我们发送电子邮件,并附上您的服务器名称、数据库名称和此错误的最新时间戳。
  • 为了帮助您同时缓解此问题,您可以尝试提高数据仓库的 SLO(服务级别目标)。当您在较小的 SLO(例如 DW100)上运行高度并发的工作负载时,更有可能发生锁定和资源争用。客户已经能够通过在更大的 SLO 上运行工作负载来解决资源死锁问题。
猜你喜欢
  • 2017-07-28
  • 2011-12-21
  • 1970-01-01
  • 2020-12-13
  • 2018-09-05
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
相关资源
最近更新 更多