在Sybase使用中,有时会遇到库的设备文件被删除、或库的数据设备文件被损坏,导致数据处于suspect状态,无法恢复。这样,通过Sybase Central图形化工具无法直接删除该库,此时,通过如下方法可将该库删除。
第一步,打开“SQL Advantage”,连接到数据库服务器,选择master库。
第二步,输入SQL语句:select name from sysdatabases where status &320 = 320,执行。该语句是查询所有处于挂起状态的数据库的名称。
![](https://www.cnblogs.com/images/cnblogs_com/jasmin/d1.jpg)
如果没有记录返回,则执行如下SQL语句,将想要删除的坏库标记为挂起状态。
第一步,打开“SQL Advantage”,连接到数据库服务器,选择master库。
第二步,输入SQL语句:select name from sysdatabases where status &320 = 320,执行。该语句是查询所有处于挂起状态的数据库的名称。
![](https://www.cnblogs.com/images/cnblogs_com/jasmin/d1.jpg)
如果没有记录返回,则执行如下SQL语句,将想要删除的坏库标记为挂起状态。
SQL语句:
sp_configure "allow updates", 1
go
update sysdatabases set status = 320 where name = "test"
go
sp_configure "allow updates", 0
go
注意:test需要替换成你想要删除的数据库
第四步,重启数据库服务,然后打开SQL Advantage,连接数据库服务器,执行SQL语句:
dbcc dbrepair(test, dropdb)
注意:test需要替换成你想要删除的数据库名。