on 2017 Jul 12 2:27 PM
We have a utility for automating backups & DR servers for our customers. As well as doing things like making sure that live backup keeps running and regularly applying log files to DR databases, it can invoke client side backups (using dbbackup.exe). This usually works fine even with 200-300GB databases.
However, we have been getting quite a few cases where, although the backup completes and reports success, any attempt to use the database (eg apply logs, verify etc) results in a variety of assertion errors. On checking, the original database is fine, as is the disk system of the DR machine.
We have submitted a few of these databases to SAP support who have said that basically the database file is corrupt. It would seem likely therefore that some of the database pages are getting corrupted by network errors during the back-up process.
Is there any form of in-built error checking, checksum validation etc that goes on during a database backup? Obviously network errors shouldn't be happening, but I'm surprised that the issue isn't being detected during the backup process. Or, is something quite different going on? (As mentioned above, a whole variety of assertion errors can come up - but all seem to relate to a corrupt database file - the log file always seems to be OK when checked)
Our log of events (with a few sensitive things replaced with XXXX:
20:46:58 Backing up Primary Database to E:\\XXXXX\\IQX.db, Replacing Standby20:46:58 dbbackup.exe -k nocopy -b 240 -y -o "E:\\XXXXX\\Messages\\20170705200027 Full Backup.txt" -c "ENG=BRSSIQX;DBN=BRSSIQX;LINKS=TCPIP(Host=192.168.101.180;Port=2639);UID=pears;PWD=XXXXX;CON=FullBackupBRSS" "E:\\BRSSIQXHubBackup" SQL Anywhere Backup Utility Version 16.0.0.2076 (70302259 of estimated 70302259 pages, 100% complete) Database backup completed
22:18:58 Applying E:\\XXXXX\\IQX.log to Standby Database E:\\XXXXX\\IQX.db
22:18:58 dbsrv16.exe -n LogApplyBRSS -o "E:\\XXXXX\\Messages\\20170705200027 Full Backup.txt" -qs -c 1G -ca 0 -x none -xd "E:\\XXXXX\\IQX.db" -a "E:\\XXXXX\\IQX.log" I. 07/05 22:18:58. SQL Anywhere Network Server Version 16.0.0.2076
I. 07/05 22:18:58. Workgroup Edition I. 07/05 22:18:58.
I. 07/05 22:18:58. Copyright © 2014 SAP SE or an SAP affiliate company. I. 07/05 22:18:58. All rights reserved. I. 07/05 22:18:58. Use of this software is governed by the Sybase License Agreement. I. 07/05 22:18:58. Refer to http://www.sybase.com/softwarelicenses. I. 07/05 22:18:58.
I. 07/05 22:18:58. Connection limit (licensed seats): 155 I. 07/05 22:18:58. Processors detected: 1 (containing 2 logical processors) I. 07/05 22:18:58. Processor limit (Workgroup Edition): 2 I. 07/05 22:18:58. Processor limit (licensed processors): 2 I. 07/05 22:18:58. Maximum number of processors the server will use: 1 physical processor(s), 2 core(s) I. 07/05 22:18:58. This server is licensed to: I. 07/05 22:18:58. XXXX I. 07/05 22:18:58. XXXX I. 07/05 22:18:58. Running Windows 2012R2 Build 9600 on X86_64 I. 07/05 22:18:58. Server built for X86_64 processor architecture I. 07/05 22:19:00. 1050108K of memory used for caching I. 07/05 22:19:00. Minimum cache size: 1050108K, maximum cache size: 11320464K I. 07/05 22:19:00. Using a maximum page size of 4096 bytes I. 07/05 22:19:00. Multiprogramming level: minimum:2, current:20, maximum:80 I. 07/05 22:19:00. Automatic tuning of multiprogramming level is enabled I. 07/05 22:19:00. Starting database "IQX" (E:\\XXXXX\\IQX.db) at Wed Jul 05 2017 22:19 I. 07/05 22:19:00. Performance warning: Database file "E:\\XXXXX\\IQX.db" consists of 138 disk fragments I. 07/05 22:19:00. Database recovery in progress I. 07/05 22:19:00. Last checkpoint at Wed Jul 05 2017 20:46 I. 07/05 22:19:00. Transaction log: E:\\XXXXX\\IQX.log... E. 07/05 22:19:00. ERROR Assertion failed: 201502 (16.0.0.2076) Inconsistent page modification counter value E. 07/05 22:19:00. Error: Internal database error ERROR Assertion failed: 201502 (16.0.0.2076) Inconsistent page modification counter value -- transaction rolled back
15:50:30 ERROR - Failed with exit code 1
It seems we were being affected by one or more issues fixed before build 2471 (Thanks for your email Mark Culp!). Certainly we are now not getting repeats.
We did then get hit by the apparently new problem:
================(Build #2524 - Engineering Case #809863)================ Under exceptional rare circumstances, the server may loop infinitely during an index backward scan. This has been fixed.
This manifested itself for us by a statement like
select max(column) from table where anothercolumn = 'something'
just never returning, while
select min(column) from table where anothercolumn = 'something'
was fine.
However that was fixed in build 2546 before we got a chance to finish reporting it - so all seems good now.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
62 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.