sql – Sybase ASE:“您的服务器命令遇到死锁情况”

当运行执行INSERT和UPDATE的存储过程(来自.NET应用程序)时,我有时(但不经常,真的)并随机获取错误

ERROR [40001] [DataDirect][ODBC Sybase Wire Protocol driver][sql Server]Your server command (family id #0,process id #46) encountered a deadlock situation. Please re-run your command.

我怎样才能解决这个问题?

谢谢.

解决方法

解决死锁问题的最佳方法是将“打印死锁信息”设置为使用

sp_configure“print deadlock information”,1

每次出现死锁时,都会打印出有关涉及哪些进程以及死锁时它们运行的​​sql的信息.

如果您的表使用所有页锁定.它可以减少死锁以切换到数据行或数据页锁定.如果这样做,请确保在表上收集新的统计信息,并重新创建访问更改的表的索引,视图,存储过程和触发器.如果不这样做,您将会收到错误或者看不到更改的全部好处,具体取决于哪些更改未重新创建.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...