SQL Anywhere 11.01.2527

We're looking to enable by default CHECKSUM clause on all of our databases as it sounds like a good thing.

However, what exactly will happen if a checksum check fails whilst the database performing its normal operations? Is there an assertion that is thrown by the db server? Does some message get logged to the console? Does some database event get fired? Does the database shutdown?

Now we can get information about invalid pages using a VALIDATE or similar procedure (DCX - Using checksums to detect corruption), but that doesn't explain what happens when it is the database server itself that is reading/writing the pages caused by CRUD type operations.

asked 18 Mar '11, 03:10

Nick%20Brooks's gravatar image

Nick Brooks
513172031
accept rate: 50%

edited 18 Mar '11, 03:11


Database page checksums are verified each time a page is read from disk. If the checksum is invalid then the database (currently) throws assertion 200502, 200505, or 200511 "Checksum failure on page %d". Once the assertion occurs the server must be restarted.

If a checksum failure occurs on a database, you will need to use you recovery procedure to restore your database from a backup and apply the transaction log(s) since that backup.

permanent link

answered 18 Mar '11, 10:02

Mark%20Culp's gravatar image

Mark Culp
22.9k9129269
accept rate: 40%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×137
×27

question asked: 18 Mar '11, 03:10

question was seen: 1,988 times

last updated: 18 Mar '11, 10:02