Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我遇到了在某些 sybase 数据库上删除和重新创建唯一聚集索引的问题。我无法在我的测试环境中重现该问题。
并发问题出现时产生的错误如下:
无法删除或修改分区描述符数据库 'xxx' (43)、对象 xx、索引 xx (0)、分区 'xx',因为它正在使用中。请稍后重试您的命令。总引用计数“4”。任务引用计数“2”。
我知道打开 tran 对表或行的排他锁不会导致这种情况,而且我认为最终用户可能做的任何事情都不会改变数据的排序顺序。
数据是集群循环,并且是单个分区表。
请指教。
您可以改用“reorg”吗?那会产生相同的效果并且不应该受到这种影响吗?但我不确定,因为我喜欢你看不到这是怎么发生的——在 Sybase 获得表锁之前不应该开始构建新的聚集索引(它必须用于聚集,)所以为什么它看起来是别的东西访问?(DBCC,或者系统级别的系统目录上的锁定可能,所以虽然索引可以建立,但更新系统目录的一些事情会失败?)
在 15.0.3 之前 esd 4 REORG 会导致其他尝试访问正在重组的表的查询失败,而不是被阻塞,这可能很烦人。