有没有办法强制删除当前正在使用的sybase中的表? 或者以任何方式摆脱锁定。
力量下降将是更好的选择。但是存在力量下降吗?
答案 0 :(得分:2)
Sybase完全在线,多用户,无需单用户模式。
如果您有足够的权限,则可以执行各种操作。这些操作都没有“破坏已在DDL中定义的数据或数据库或引用完整性”:
如果问题是表(而不是页面)被锁定,并且您希望消除阻止其他用户访问该表的表锁,kill
spid
。 sp_lock
会识别server process id
。
如果您确实想要删除该表,但它已被锁定,请先kill
spid
;然后放下桌子。
(有一个“强制丢弃”命令,但是没有记录并且不受支持;更重要的是它适用于特殊情况,而不是你的情况所必需的。)
答案 1 :(得分:-2)
不,你不能,因为如果确实如此,Sybase将破坏数据库的完整性。 想象一下:用户正在从表中读取数据,同时另一个用户正在销毁同一个表!!
如果你想强迫它,你必须打开数据库为“单用户”,之后没有人 - 但你可以连接到数据库并做你想做的......
尝试http://www.tek-tips.com/viewthread.cfm?qid=220392&page=49 用于切换到单个用户。