首页 > 数据库 > 数据库开发技术 > SYBASE使用中个人出现的问题整理
在重启数据库时,出现类似 Recovery dbid 5 ckpt (1202079,9) oldest tran (1122446,8)
提示后数据库再也启动不了。此时如果master数据库已启动,则可连接到master数据库上
isql -Usa -P -Ssybase -Jcp850
运行如
下语句:
/* 使系统数据表可改 */
sp_configure "allow update",1
/* 使数据库在启动时不做检查 */
update sysdatabases set status=-32768 where name="databasename"
/* 清理日志 */
dump tran master with no_log
dump tran databasename with no_log
然后重启数据库,就可解决问题。但还必须做一步:
sp_configure "allow update",0
******************************************
2。解决数据库被标记为“suspect”的方法
现象: Error 926
Severity Level 14
Error Message Text
Database "xx" cannot be opened - it has been marked SUSPECT by recover Explanation
当你使用Transact_SQL命令这个数据库的数据时,出现这个信息,这是一个严重的错误,如果你要使用这个数据库的数据,必须改正这个错误。Action
用ISQL登录到SQL Server,须用SA帐号
1>sp_configure "allow updates", 1
2>go
2>reconfigure with override
2>go
1>update master..sysdatabases
2>set status =-32768
3>Where name="database_name" database_name是 你 的 数 据 库 名
4>go
1>shutdown with nowait
2>go
这时重新启动SQL Server,再有SA帐号注册到SQLServer。
1>update master..sysdatabases
2>set status=0
3>Where name="database_name" database_name 是 你 的 数 据 库 名
4>go
1>sp_configure "allow updates" ,0
2>go
1>reconfigure with override
2>go
如果你的数据库原来有dboption,你需要重新设置这些option。
online database database_name
***************************************************
3。数据库记录无法修改的问题:
select name,status from master..sysdatabases where name="datebase_name"
看status是否是-32768 ,若是,sysdatabases系统表相应记录的status字段改为0,reboot数据库服务器就可以了。
1. Reset the database status to 0:
1> sp_configure "allow updates", 1
2> go
1> begin tran
2> go
1> use master
2> go
1> update sysdatabases set status=0 where name="datebase_name"
2> go
Check that the above update command affected only one row (if more than one row was affected, issue a rollback transaction.) Then commit the transaction and shut down Adaptive Server as follows:
1>commit tran
2>go
1>shutdown with nowait
2>go
2. Restart Adaptive Server. Run dbcc checkdb and dbcc checkalloc on the affected database to make sure there are no errors.
********************************
4. 无法新增数据库表
com.sybase.jdbc2.jdbc.SybSQLException: The 'CREATE TABLE' command is not allowed within a multi-statement transaction in the 'database_name' database.
sp_dboption database_name, 'ddl in tran', true
sp_dboption database_name, 'allow nulls by default', true
需要重新启动服务
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/224469/viewspace-996798/ ,如需转载,请注明出处,否则将追究法律责任。