cancel
Showing results for 
Search instead for 
Did you mean: 

cannot write to transaction log "C:\Program Files (x86)\SAP BusinessObjects\sqlanywhere\database\BI4_Audit.log

Former Member
0 Kudos

Hi friends,

My server Intelligence Agent (SIA) can not start because the database service "SQLAnywhereForBI" can't start also. I got the following error :

"I . 08/09 20:35:06. A read failed with error code: (1392), Le fichier ou le répertoire est endommagé et illisible.

E. 08/09 20:35:06. Fatal error:  cannot write to transaction log "C:\Program Files (x86)\SAP BusinessObjects\sqlanywhere\database\BI4_Audit.log"

E. 08/09 20:35:06. unable to start database "C:\Program Files (x86)\SAP BusinessObjects\sqlanywhere\database\BI4_CMS.db"

E. 08/09 20:35:06. Error writing to transaction log file

I. 08/09 20:35:06. Database server shutdown due to startup error "

inside the database log file.

Please, can you help me

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I found the solution by following the advice given on the following forum:

http://evtechnologies.com/transaction-logs-on-sybase-sql-anywhere-and-sap-​​businessobjects-bi-4-1

In fact, I crushed the BI4_Audit.db and BI4_Audit.log files and I replaced with others that I got from another machine where I installed BO again and where the files are not corrupted . After I logged in to the CMS database by executing the command in the command line:
dbisql -c "UID = DBA; PWD = mypassword; BI4 Server =; DBF = C: \ Program Files (x86) \ SAP BusinessObjects \ sqlanywhere \ database \ BI4_CMS.db."

Once connected, I start the command:

alter database 'C: \ Program Files (x86) \ SAP BusinessObjects \ sqlanywhere \ database \ BI4_Audit.db' alter log off;

The query runs successfully.
And that's good, I can be connected to BO smoothly.

Thank you again Eric

jeff_albion
Employee
Employee
0 Kudos

Hi Abdelhak,

As I mentioned in your other thread, it is not recommended to run your SQL Anywhere database without a transaction log for performance reasons. It is also used to help in times of database recovery.

Tip: Always use a transaction log        

Using a transaction log can provide data protection, and can dramatically improve the performance of SQL Anywhere.

When operating without a transaction log, SQL Anywhere performs a checkpoint at the end of every transaction which consumes considerable resources.


When operating with a transaction log, SQL Anywhere only writes notes detailing the changes as they occur. It can choose to write the new database pages all at once, at the most efficient time. Checkpoints make sure information enters the database file, and that it is consistent and up to date.


You can further improve performance if you store the transaction log on a different physical device than the one containing the primary database file. The extra drive head does not generally have to seek to get to the end of the transaction log.

The linked article is incorrect in that turning off the transaction log will not have any impact and that turning it off is a wise strategy. On the contrary, creating a backup strategy and restoring it is your best mechanism to maintain your BI database and not lose any data in times of crisis.

---

In your specific case, I would also highly recommend taking a look at the health of your disk (i.e. chkdsk). The error:


A read failed with error code: (1392)

means that the Windows OS returned code 1392:


C:\>net helpmsg 1392

The file or directory is corrupted and unreadable.

Regards,

Jeff Albion

SAP Active Global Support

Answers (0)