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