AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 2292
Accepted
Cell-o
Cell-o
Asked: 2011-04-21 10:34:23 +0800 CST2011-04-21 10:34:23 +0800 CST 2011-04-21 10:34:23 +0800 CST

从 SQL Server 2000 到 SQL Server 2008 的死锁错误

  • 772

将数据从 SQL Server 2000 迁移到 SQL Server 2008 后,当我在表中执行任何事务时发现数据库中有更多行,这给了我错误。

 Transaction (Process ID 59) was deadlocked on lock resources with
 another process and has been chosen as the deadlock victim. 
 Rerun the transaction.

表上有 3 个触发器(插入、更新、删除)。我怎么解决这个问题?

sql-server-2008 trigger
  • 3 3 个回答
  • 1030 Views

3 个回答

  • Voted
  1. Best Answer
    Sankar Reddy
    2011-04-21T13:53:11+08:002011-04-21T13:53:11+08:00

    升级到 SQL Server 2008 后,您是否运行了以下命令?

    1. DBCC更新USGAE
    2. 使用 FULLSCAN 更新统计数据
    3. 重建所有索引

    从 2000 到 SQL Server 2008,统计 blob 发生了显着变化,升级后上述步骤非常重要。我见过很多人遇到性能问题但没有死锁。如果您到目前为止还没有,我会尝试执行上述所有操作,然后尝试重现该问题。

    也就是说,SELECT @@VERSION 在 2008 框上的结果是什么?您是更新一行还是几行?

    • 2
  2. Gaius
    2011-04-21T10:53:44+08:002011-04-21T10:53:44+08:00

    我怀疑这可能与不同版本中的优化器以不同方式处理锁升级有关。你能检查Lock:Escalation事件吗?

    • 1
  3. tuseau
    2011-04-22T02:08:31+08:002011-04-22T02:08:31+08:00

    如果你运行 Profiler 并记录所有死锁图,那么你可以准确地找出死锁发生在哪些表上,包括页面。这应该有助于缩小范围。

    • 1

相关问题

  • 连接不同地理区域的数据库的最佳实践

  • 死锁的主要原因是什么,可以预防吗?

  • 我在索引上放了多少“填充”?

  • 是否有开发人员遵循数据库更改的“最佳实践”类型流程?

  • 从 SQL Server 2008 降级到 2005

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve