![]() | ![]() |
Home |
|
|
Troubleshooting and Error Messages Guide |
|
| Chapter 3 Error Message Writeups |
|
| Transaction Errors |
|
| Error 3917 |
16
An attempt was made to startup a multi-database update in database '%S_DBID' after starting up the master transaction in tempdb. This could render the database '%S_DBID' unrecoverable and this update is therefore not allowed.
Error 3917 is raised when you initiate a transaction in tempdb and the transaction attempts to update one or more tables in another database. For example:
1> use tempdb 2> go 1> begin tran 2> go 1> update geo..nation 2> set n_comment="This is a grade V earthquake zone" 3> where n_nationkey = 4 4> go
Msg 3917, Level 16, State 1: Line 1: An attempt was made to startup a multi-database update in database 'geo' after starting up the master transaction in tempdb. This could render the database 'geo' unrecoverable and this update is therefore not allowed.
You cannot start update transactions in tempdb because tempdb is truncated upon recovery. If the transaction is left in a prepare state and it becomes necessary to restart the server, this will render the user database (the one being updated) unrecoverable.
3917 errors may also be seen when the tempdb transaction log gets filled up, and are accompanied by Error 1105 (Can't allocate space for object '%.*s' in database '%.*s' because '%.*s' segment is full/has no free extents. If you ran out of space in syslogs, dump the transaction log. Otherwise, use alter database or sp_extendsegment to increase size of the segment.).
Check the ASE error log to help determine the circumstances in which the error is raised.
If Error 3917 was raised when you attempted a transaction containing an update or insert statement, it means that the transaction was incorrectly initiated from tempdb. Take one of the following steps, as applicable:
Add 'use <database_name>' in the SQL script to change the database from tempdb to the database being updated, and retry the transaction; or
Change the default database for the user executing the transaction to the database where the insert is taking place.
If Error 1105 in tempdb accompanies the 3917 error, this is probably due to an Adaptive Server problem which prevents the checkpoint process from executing because the transaction log is filled up. Shut down and restart the server. Call Sybase Technical Support to upgrade to a version in which the problem is fixed.
Have the following information ready when you call Sybase Technical Support:
Adaptive Server version and SWR rollup level
Server error log
All versions
|
|