使Sybase数据库离线



是否有办法在Sybase ASE 16.0中使数据库脱机?

我知道数据库在加载转储时被设置为脱机,但这不能是设置数据库脱机的唯一方法。


也有一篇官方文章,但它被锁在PayWall后面…

dba级别的系统目录直接编辑将使其进入该状态。在一个dev实例上尝试一下,看看这是否是你在re: offline database命令中所寻找的。

sp_configure 'allow updates',1
go
reconfigure with override
go
update master..sysdatabases 
set status=512 
where name='<database of interest>'
go
sp_configure 'allow updates',0
go
reconfigure with override
go

你可能会看到的其他状态是:

512  offline 
1024 read only 
2048 dbo use only 
4096 single user 
其中一些状态可以通过sp_dboption调用来设置,比如
master..sp_dboption <database of interest>, "read", true
go

我唯一想到的就是:

dbcc dbreboot('shutdown',<dbname1>[,<dbname2>, ...,<dbnameN>])

我找到的唯一文档是dbcc dbreboot()的这个wiki页面。

请记住,online database将不再使数据库可用。要使数据库可用,您需要运行dbcc dbreboot('restart',<dbname>)

您还可以将数据库设置为" dbo use only ";模式,以便只有所有者可以访问它:

use master
go
sp_dboption <databasename>, 'dbo use only', true
go

如果非dbo用户试图使用数据库,将会产生以下消息:

User <uid> not allowed in database '<databasename>' - only the owner of this database can
access it.

所有在数据库中以dbo别名登录的用户仍然有访问权限。

最新更新