点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用以下查询在sybase中获取status2值
从sysdatabases中选择名称,状态,status2
获取status2值后,我将其转换为16位二进制值,并检查第4位和第5位以检查数据库是否脱机。 当数据库已将日志满时中止传输设置为true,并且status2的值为-32767时,就会出现此问题。 这会将所有位设置为1。我遵循的检查数据库是否脱机的方法正确吗?
我正在使用以下文档作为参考 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36274.1550/html/tables/X42615.htm
Vikas,您好,
我不知道为什么您会看到所有的位都为1。也许您应该发布所做工作的实际输出?
1>创建数据库测试(请求了1536个逻辑页)。
2>进行
数据库'test' 现在在线。
1>从sysdatabases中选择convert(binary(2),status2),status2,其中name =" test"
2> go
status2
------ ------ -
0x8000 -32768
(受影响的1行)
1>选择convert(binary(2),status2), sysdatabases中的status2,其中name =" test"1> sp_dboption测试," abort tran",true
2> go
数据库选项" test"的数据库选项" abort tran on log full"已打开。 >在数据库'test'上运行CHECKPOINT,以使选项'ablog tran on log full'生效。
(返回状态= 0)
2>去
status2
------ -------
0x8001 -32767
(受影响的1行)
要测试"离线"位是否打开,我将检查(status2&48> 0)
-bret
http://infocenter.sybase.com /help/topic/com.sybase.infocenter.dc36271.1600/doc/html/san1393050521805.html )
以查看"离线"或"恢复过程中离线"(或两者同时) 。status2&48如果两个位都不打开,则返回0;如果仅"离线"打开,则返回16;如果仅"恢复中的离线"打开,则返回32,
或48(如果两者均打开)。 因此,如果返回的值大于0,则数据库处于脱机状态。
从sysdatabases中选择名称,其中status2&48> 0-将返回所有脱机数据库的列表。
-bret
一周热门 更多>