删除当前正在使用的表[sybase]

时间:2010-12-23 06:51:24

标签: database datatable sybase

有没有办法强制删除当前正在使用的sybase中的表? 或者以任何方式摆脱锁定。

力量下降将是更好的选择。但是存在力量下降吗?

2 个答案:

答案 0 :(得分:2)

Sybase完全在线,多用户,无需单用户模式。

如果您有足够的权限,则可以执行各种操作。这些操作都没有“破坏已在DDL中定义的数据或数据库或引用完整性”:

  • 如果问题是表(而不是页面)被锁定,并且您希望消除阻止其他用户访问该表的表锁,kill spidsp_lock会识别server process id

  • 如果您确实想要删除该表,但它已被锁定,请先kill spid;然后放下桌子。

(有一个“强制丢弃”命令,但是没有记录并且不受支持;更重要的是它适用于特殊情况,而不是你的情况所必需的。)

答案 1 :(得分:-2)

不,你不能,因为如果确实如此,Sybase将破坏数据库的完整性。 想象一下:用户正在从表中读取数据,同时另一个用户正在销毁同一个表!!

如果你想强迫它,你必须打开数据库为“单用户”,之后没有人 - 但你可以连接到数据库并做你想做的......

尝试http://www.tek-tips.com/viewthread.cfm?qid=220392&page=49 用于切换到单个用户。