检查sybase中的status2值

2020-09-22 08:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用以下查询在sybase...

         点击此处--->   EasySAP.com群内免费提供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

2条回答
宇峰Kouji
2020-09-22 08:59 .采纳回答

Vikas,您好,

我不知道为什么您会看到所有的位都为1。也许您应该发布所做工作的实际输出?


1>创建数据库测试
2>进行(请求了1536个逻辑页)。
数据库'test' 现在在线。

1>从sysdatabases中选择convert(binary(2),status2),status2,其中name =" test"
2> go
status2
------ ------ -
0x8000 -32768

(受影响的1行)
1> sp_dboption测试," abort tran",true
2> go
数据库选项" test"的数据库选项" abort tran on log full"已打开。 >在数据库'test'上运行CHECKPOINT,以使选项'ablog tran on log full'生效。
(返回状态= 0)

1>选择convert(binary(2),status2), sysdatabases中的status2,其中name =" test"
2>去
status2
------ -------
0x8001 -32767

(受影响的1行)

要测试"离线"位是否打开,我将检查(status2&48> 0)

-bret

一周热门 更多>