Skip to Content

Error Mesg 644 when we use sp_addlogin, sp_helpdb etc..

Every time we are executing the commands : sp_addlogin, sp_helpdb etc.. following error is coming:
Msg 644, Level 21, State 5:
Server 'XXXXX', Procedure 'sp_addlogin', Line 509:
Index row entry for data row id (1146, 19) is missing from index page 1171 of index id 2 of table 'sysstatistics' in database 'master'. Xactid is (8590025847,13). Drop and re-create the index.
Msg 12807, Level 18, State 1:
Server 'XXXXX', Procedure 'sp_addlogin', Line 509:
cannot delete a tuple in sysstatistics
Msg 1265, Level 20, State 1:
Server 'XXXXX', Procedure 'sp_addlogin', Line 509:
An illegal attempt was made to release an invalid lock or a lock that is not owned by the process family (lr=0x0x1479a8760, lrmagic=f).
ASE is terminating this process.
Execution Time (ms.): 75 Clock Time (ms.): 75

we have tried the solution for Msg 644 from the " Sybase® Adaptive ServerTM Enterprise Troubleshooting and Error Messages Guide"
But the problem continues.

We are using : Adaptive Server Enterprise/15.7.0/EBF 19805 SMP ESD#01 /P/x86_64/Enterprise Linux/aseasap/2918/64-bit/FBO/Wed Feb 8 07:50:28 2012
on RHEL 6.3

Thanks in advance

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • Best Answer
    Posted on Jun 01, 2019 at 06:20 AM

    Dear Jongun,

    Thanks for the quick response so far..

    We have fix this issue by loading latest master database.

    Regards,

    Sravan Kumar.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on May 27, 2019 at 03:37 AM

    Hi Sravan,

    Please try to fix it as following.
    Before trying to perform the steps, please back up master database.
    1.shutdown the ASE server

    sp_configure 'allow updates to system tables', 1
    go

    shutdown
    go

    2.backup master.dat file
    -Copy master.dat to backup directory

    3.add -m option at the end of RUN_<ASE servername> for single user mode.

    ...
    -s<ASE servername> \
    -m \

    4.update sysobjects.sysstat

    update sysobjects set sysstat= sysstat | 4096 where name = 'sysstatistics'
    go

    dbcc traceon(3604)
    go
    dbcc dbrepair(master, repairindex, sysstatistics, 2)
    go

    update sysobjects set sysstat= sysstat ^ 4096 where name = 'sysstatistics'
    go
    sp_configure 'allow updates system tables', 0
    go

    5.shutdown the ASE and remove -m option at RUN_<ASE servername>

    Regards,
    Jongun

    Add a comment
    10|10000 characters needed characters exceeded

    • Dear Jongun,

      As you suggested above steps ,When we execute below command following error is encounter.

      1> dbcc dbrepair(master, repairindex, sysstatistics, 2)
      2>
      There are 164.000000 rows in 7 pages for object 'sysstatistics'.
      Msg 1505, Level 16, State 2:
      Server 'XXXXXX', Line 1:
      Create unique index aborted on duplicate key. Primary key is '976003477, 0, 0, 0, 0x02, 110, 1'
      Msg 8201, Level 26, State 6:
      Server 'XXXXXX', Line 1:
      Keep count of descriptor (objid=24, dbid=1) was expected to be 1. Instead 0 was found.
      Error while undoing log row in database 'master'. Rid pageid = 0x164ca; row num = 0x9.
      DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
      Msg 11068, Level 20, State 1:
      Server 'XXXXXX', Line 1:
      Transaction was found in the incorrect state of 'Command-attached'. The expected state was 'Done command-attached'.
      Msg 11068, Level 20, State 1:
      Server 'XXXXXX', Line 1:
      Transaction was found in the incorrect state of 'Command-attached'. The expected state was 'Done command-attached'.
      ASE is terminating this process.
      Execution Time (ms.): 60 Clock Time (ms.): 60

      Still problem continues

      Kindly, help us by providing alternate solution to fix this issue.

      Thanks in advance

      Regards,

      Sravan Kumar.

  • Posted on May 28, 2019 at 04:17 AM

    Hi Sravan,

    The ASE server may be using DTM option.
    If so, first you have to fix the transactions not to be completed before fixing the issue.

    Please try to commit or rollback the DTM transactions.

    1.to identify incomplete transactions run sp_transactions.

    sp_transactions
    go

    2.determine the transactions found above will be completed or rolled back.

    dbcc traceon(3604)
    go
    dbcc complete_xact (<Xid>, "commit") --for commit
    go

    OR

    dbcc complete_xact(<Xid>, "rollback") --for rollback
    go

    dbcc forget_xact(<Xid>)
    go

    For more detail about dbcc command, refer to Reference Manual.
    To get <Xid> use sp_transactions or call xa_gtrid().

    Regards,
    Jongun

    Add a comment
    10|10000 characters needed characters exceeded

    • Dear Jongun,

      Thanks for the input..

      DTM is off, ie we have not enabled the DTM and it is confirmed.

      hence there are no pending transactions and 'sp_transactions' returns 0(zero) records.

      Any further pointers or support is highly appreciated.

      Thanks & Regards,

      Sravan Kumar.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.