是否有办法在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别名登录的用户仍然有访问权限。