-
Ottrott
- Novice
- Posts: 7
- Liked: 2 times
- Joined: Jun 18, 2009 9:13 am
- Contact:
Unable to execute backup job after migration of repository
Hi,
the problem I’m facing here: I had to migrate a backup repository to a new backup server & I’m now unable to execute newly created backup jobs. Copying the files didn’t to the job, after some research I found the scripts in KB3607 and moved the content of the old repository via a proxy on the new server to it’s new location. This worked fine, the script moved all backups to the new backup repo. After migrating the backup repo I installed the Backup for Microsoft 365 on the new server and I’m able to access & use the migrated backups. The UI shows the restore points in the past, I’m able to browse the backups etc. But: I can create new backup jobs with all the settings I need — but when I try to execute this newly created job I get the following error: «Job with the following ID does not exist: <GUID>». This happens with every job I create, the ID changes with the creation of the job. I’m on version 6.0.0.367
Any ideas what’s going wrong here?
Christian Kirn
-
Mildur
- Veeam Software
- Posts: 4914
- Liked: 1473 times
- Joined: May 13, 2017 4:51 pm
- Full Name: Fabian K.
- Location: Switzerland
-
Contact:
Re: Unable to execute backup job after migration of repository
Post
by Mildur » Apr 13, 2022 11:07 am
Hello,
That sounds like a technical issue. Please provide a support case ID for this issue, as requested when you click New Topic.
Without case number, the topic will eventually be
deleted by moderators.
KB3607 doesn’t exists for me. I think you meant https://www.veeam.com/kb3067.
The right procedure to migrate your VBO installation to a new server, is covered by KB2649. https://www.veeam.com/kb2649
The entire configuration (Repos, organization, backup jobs, …) must be recreated on the new server.
Best regards,
Fabian
PS: support can only help if you export and upload logs
Product Management Analyst @ Veeam Software
-
Ottrott
- Novice
- Posts: 7
- Liked: 2 times
- Joined: Jun 18, 2009 9:13 am
- Contact:
Re: Unable to execute backup job after migration of repository
Post
by Ottrott » Apr 13, 2022 1:07 pm
The case id is Case #05388874
Regarding the migration process: I tried as described in KB2649 — but when trying to open the repo in the new installation I always got a «jet error -514 JET_errBadLog». So I moved the repo as described in KB3067
-
Mildur
- Veeam Software
- Posts: 4914
- Liked: 1473 times
- Joined: May 13, 2017 4:51 pm
- Full Name: Fabian K.
- Location: Switzerland
- Contact:
Re: Unable to execute backup job after migration of repository
Post
by Mildur » Apr 13, 2022 1:14 pm
Thanks for the case number.
Let’s wait for an answer from support.
One question, what was the OS version before and after the migration?
Product Management Analyst @ Veeam Software
-
Mildur
- Veeam Software
- Posts: 4914
- Liked: 1473 times
- Joined: May 13, 2017 4:51 pm
- Full Name: Fabian K.
- Location: Switzerland
- Contact:
Re: Unable to execute backup job after migration of repository
Post
by Mildur » Apr 13, 2022 2:52 pm
It could be, that your windows 10 has a higher version of the jet database engine as your windows server 2019.
Migrating the db files to another machines requires to have the same or higher version of this jet engine.
Product Management Analyst @ Veeam Software
-
Ottrott
- Novice
- Posts: 7
- Liked: 2 times
- Joined: Jun 18, 2009 9:13 am
-
Contact:
Re: Unable to execute backup job after migration of repository
Post
by Ottrott » Apr 14, 2022 2:25 pm
That’s one thing which also came to my mind. As the configuration was pretty simple we (obviously it was Roland from the support team) decided to reset the whole config. Now it runs like a charm!
********* schnipp *********
We have reset the configuration as it was almost empty.
The issue was that proxy database did not get the updates from the server and the jobs created did not show up in proxy database at all.
After configuration reset — the communication between components was restored and the issue no longer occurred and we were able to successfully run a job.
********* schnapp *********
Who is online
Users browsing this forum: No registered users and 10 guests
Any changes in the Exchange mailboxes or database, such as sending or receiving emails, are first recorded in the transaction logs. These transaction logs are then queued and later committed to the Exchange mailbox database. This helps maintain the database integrity, prevent file locks, and improve the I/O performance of the server. All committed and non-committed transaction logs remain on the drive unless deleted. If you perform a VSS backup using an Exchange-aware backup utility, such as Windows Backup Server (WSB), all pending logs are committed to the database and deleted automatically thereafter to make space for newer logs.
However, if you accidentally or deliberately end up deleting the uncommitted transaction log files, you put the consistency of the database at risk. This can lead to integrity issues, Dirty Shutdown errors, and database corruption.
Importance of Log Files in Exchange Server Database Recovery
When you dismount the database via PowerShell or the Exchange Admin Center, the server commits all logs and gracefully shut down the database. The database state at this stage will be marked as Clean Shutdown.
On the other hand, when log files are uncommitted, missing, or corrupted, you cannot mount the Exchange database without log files. This could hinder the consistency of the Exchange database and disable the database mount. Due to this, the state of the database is marked as Dirty Shutdown.
The state of a database can be checked by using the native tool in Exchange Server called ESEUTIL. If you run the command eseutil /MH databasename in Exchange Management Shell or Command Prompt, you will see a lot of information about the database in the output. You must look for important information such as the State and Logs Required./databasename
The State will show you if the database is in a Clean or Dirty Shutdown state and the Logs Required will show you any missing/uncommitted or unreadable logs. This is the first indication of why the database is not mounting.
If your database cannot mount and is in a Dirty Shutdown state, don’t panic as there are ways to recover Exchange database without log files.
Is It Possible to Recover a Database without Log Files?
ESEUTIL can help you recover the Exchange database without log files. However, you need to remember these two things:
- Take a backup of the database so that you have a copy of the current data, in case something goes wrong.
- Although ESEUTIL is a recovery tool, it’s not 100% foolproof.
Also, Soft Recovery with EseUtil /r won’t work as the log files are missing. Thus, you need to execute Hard Recovery on the database using the eseutil /p parameter. But before running this command for Hard Recovery, consider some consequences, such as:
- It’s not guaranteed that this will fix your database.
- You must accept data loss as Hard Recovery will purge any irrecoverable mailboxes or mail items from the database.
- If this fails, Microsoft will not provide support because when you run Hard Recovery, the database is hardcoded and marked.
If ESEUTIL fails, you may face the following error messages:
- Error -501 (JET_errLogFileCorrupt) – «Log File is Corrupt»
- Error -514 (JET_errBadLogVersion) – «Log file generated with different Exchange Server or edition»
- Error -515 (JET_errInvalidLogSequence) – «Any log file from the sequence is missing»
- Error -533 (JET_errCheckpointCorrupt) – «Checkpoint file is deleted or corrupt»
Video Tutorial to recover Exchange database without Log files
Safely Recover Exchange Database Without Log Files
By using Stellar Repair for Exchange, you can overcome the limitations and risks involved in the manual methods and recover any damaged, corrupt, or inconsistent Exchange database with complete integrity. The software supports all the Exchange Server versions, such as Exchange 5.5, 2000, 2003, 2007, 2010, 2013, 2016, and 2019.
With this software, you can select the damaged EDB files and export all recovered mailboxes to PST and other formats, such as EML, HTML, etc. In addition, you can export the EDB file directly to a live Exchange Server database or Office 365 tenant. All this is done in minimum time, with no administrative effort.
Follow the given steps, after you download and install the EDB repair software, to recover the Exchange database.
- Open the application and select the EDB file.
- Select the scan mode — Quick or Extensive.
- Once ready, you can browse the database and go through the mailboxes, journals, contact, calendar entries, and tasks.
- Click on the Save button, select PST, and then select the destination.
As mentioned, if you have an Exchange Server with a new database, you can simply click on live Exchange Server, and export all recovered mailboxes from the damaged database file to the new database on your server. It automatically matches the sources and destination mailboxes to export all mailboxes and items directly with minimal effort and time.
Conclusion
When you have a database on Exchange Server that cannot be mounted or shows a Dirty Shutdown state, it indicates an unhealthy Exchange database file. This usually occurs due to missing, uncommitted, or corrupt log file(s). If your database is in a Dirty Shutdown state or cannot be mounted, restart the server and check again. If you still can’t mount it or restore it, you may have to execute Hard Recovery using ESEUTIL. However, the process involves several risks and shortcomings and may lead to data loss. For hassle-free recovery of the Exchange database without a log file, use reliable and powerful Exchange recovery software, such as Stellar Repair for Exchange.
Here I am going to discuss what you have to do when log file is missing, shows error and corrupted. You can even mount exchange database without log files.
Exchange Server uses a database engine i.e. Extensible Storage Engine (ESE), is a client server based system used to store data, when a client access the database to perform insert, update and delete operation then all modification done to the database firstly recorded in the log file and then in Exchange database (EDB).
Log file is very important for exchange database action so it is responsibility of an Exchange administrator to take care of log files if anything happen wrong. Pperform the needed steps explained below to resolve it immediately.
Missing log files may affects the whole recovery process. Either Replay process unable to respond when log file is missing or recovery process stops working with error. Some of encountered errors are given bellow:
Error Number | JET Error | Error Description |
JET-Error -501 (0xfffffe0b) | JET_errLogFileCorrupt | Corrupted log file |
JET-Error -515 (0xfffffdfd) | JET_errInvalidLogSequence | log file is missing from the sequence |
JET-Error -514 (0xfffffdfe) | JET_errBadLogVersion | Log file generated with different Exchange Server or edition |
JET-Error -533 (0xfffffdeb) | JET_errCheckpointCorrupt | Checkpoint file is deleted or corrupt |
These errors confirmed that either log file is corrupted or missing, to recover exchange database Microsoft provides ESEutil that restores exchange database without log file.
Syntax of ESEutil Command of PowerShell
«eseutil /p database-name.edb«
An example with full path shown bellow
C:Program FilesExchsrvrBin>eseutil / p «c:ExchsrvrMailboxStore.edb
Conclusion: while using eseutil to recover Exchange Database recovery it may led to data loss and to overcome from this situation you will have to follow B-tree structure recovery and it is very complicated to complete the task with eseutil tool.
An alternate solution is available to complete the task easily is to use an expert suggested EDB 2 PST Converter tool which is capable enough to repair and save EDB to PST, EML, MSG, HTML, PDF and Live Exchange Format without log file.
From :
http://support.microsoft.com/kb/266361
and
http://support.microsoft.com/kb/266367
Typo :
Error Message
Decimal Error
Description
Codes :
#define JET_errInvalidLoggedOperation
-500
/* Logged operation cannot be redone */
#define JET_errLogFileCorrupt
-501
/* Log file is corrupt */
#define errLGNoMoreRecords
-502
/* Last log record read */
#define JET_errNoBackupDirectory
-503
/* No backup directory given */
#define JET_errBackupDirectoryNotEmpty
-504
/* The backup directory is not emtpy */
#define JET_errBackupInProgress
-505
/* Backup is active already */
#define JET_errRestoreInProgress
-506
/* Restore in progress */
#define JET_errMissingPreviousLogFile
-509
/* Missing the log file for check point */
#define JET_errLogWriteFail
-510
/* Failure writing to log file */
#define JET_errLogDisabledDueToRecoveryFailure
-511
/* Try to log something after recovery faild */
#define JET_errCannotLogDuringRecoveryRedo
-512
/* Try to log something during recovery redo */
#define JET_errBadLogVersion
-514
/* Version of log file is not compatible with Jet version */
#define JET_errInvalidLogSequence
-515
/* Timestamp in next log does not match expected */
#define JET_errLoggingDisabled
-516
/* Log is not active */
#define JET_errLogBufferTooSmall
-517
/* Log buffer is too small for recovery */
#define errLGNotSynchronous
-518
/* retry to LGLogRec */
#define JET_errLogSequenceEnd
-519
/* Maximum log file number exceeded */
#define JET_errNoBackup
-520
/* No backup in progress */
#define JET_errInvalidBackupSequence
-521
/* Backup call out of sequence */
#define JET_errBackupNotAllowedYet
-523
/* Cannot do backup now */
#define JET_errDeleteBackupFileFail
-524
/* Could not delete backup file */
#define JET_errMakeBackupDirectoryFail
-525
/* Could not make backup temp directory */
#define JET_errInvalidBackup
-526
/* Cannot perform incremental backup when circular logging enabled */
#define JET_errRecoveredWithErrors
-527
/* Restored with errors */
#define JET_errMissingLogFile
-528
/* Current log file missing */
#define JET_errLogDiskFull
-529
/* Log disk full */
#define JET_errBadLogSignature
-530
/* Bad signature for a log file */
#define JET_errBadDbSignature
-531
/* Bad signature for a db file */
#define JET_errBadCheckpointSignature
-532
/* Bad signature for a checkpoint file */
#define JET_errCheckpointCorrupt
-533
/* Checkpoint file not found or corrupt */
#define JET_errMissingPatchPage
-534
/* Patch file page not found during recovery */
#define JET_errBadPatchPage
-535
/* Patch file page is not valid */
#define JET_errRedoAbruptEnded
-536
/* Redo abruptly ended due to sudden failure in reading logs from log file */
#define JET_errBadSLVSignature
-537
/* Signature in SLV file does not agree with database */
#define JET_errPatchFileMissing
-538
/* Hard restore detected that patch file is missing from backup set */
#define JET_errDatabaseLogSetMismatch
-539
/* Database does not belong with the current set of log files */
#define JET_errDatabaseStreamingFileMismatch
-540
/* Database and streaming file do not match each other */
#define JET_errLogFileSizeMismatch
-541
/* actual log file size does not match JET_paramLogFileSize */
#define JET_errCheckpointFileNotFound
-542
/* Could not locate checkpoint file */
#define JET_errRequiredLogFilesMissing
-543
/* The required log files for recovery is missing. */
#define JET_errSoftRecoveryOnBackupDatabase
-544
/* Soft recovery is intended on a backup database. Restore should be used instead */
#define JET_errLogFileSizeMismatchDatabasesConsistent
-545
/* databases have been recovered, but the log file size used during recovery does not match JET_paramLogFileSize */
#define JET_errLogSectorSizeMismatch
-546
/* the log file sector size does not match the current volume’s sector size */
#define JET_errLogSectorSizeMismatchDatabasesConsistent
-547
/* databases have been recovered, but the log file sector size (used during recovery) does not match the current volume’s sector size */
#define JET_errLogSequenceEndDatabasesConsistent
-548
/* databases have been recovered, but all possible log generations in the current sequence are used; delete all log files and the checkpoint file and backup the databases before continuing */
#define JET_errStreamingDataNotLogged
-549
/* Illegal attempt to replay a streaming file operation where the data wasn’t logged. Probably caused by an attempt to roll-forward with circular logging enabled */
#define JET_errDatabaseInconsistent
-550
/* Database is in inconsistent state */
#define JET_errConsistentTimeMismatch
-551
/* Database last consistent time unmatched */
#define JET_errDatabasePatchFileMismatch
-552
/* Patch file is not generated from this backup */
#define JET_errEndingRestoreLogTooLow
-553
/* The starting log number too low for the restore */
#define JET_errStartingRestoreLogTooHigh
-554
/* The starting log number too high for the restore */
#define JET_errGivenLogFileHasBadSignature
-555
/* Restore log file has bad signature */
#define JET_errGivenLogFileIsNotContiguous
-556
/* Restore log file is not contiguous */
#define JET_errMissingRestoreLogFiles
-557
/* Some restore log files are missing */
#define JET_wrnExistingLogFileHasBadSignature
558
/* Existing log file has bad signature */
#define JET_wrnExistingLogFileIsNotContiguous
559
/* Existing log file is not contiguous */
#define JET_errMissingFullBackup
-560
/* The database miss a previous full backup befor incremental backup */
#define JET_errBadBackupDatabaseSize
-561
/* The backup database size is not in 4k */
#define JET_errDatabaseAlreadyUpgraded
-562
/* Attempted to upgrade a database that is already current */
#define JET_errDatabaseIncompleteUpgrade
-563
/* Attempted to use a database which was only partially converted to the current format — must restore from backup */
#define JET_wrnSkipThisRecord
564
/* INTERNAL ERROR */
#define JET_errMissingCurrentLogFiles
-565
/* Some current log files are missing for continous restore */
#define JET_errDbTimeTooOld
-566
/* dbtime on page smaller than dbtimeBefore in record */
#define JET_errDbTimeTooNew
-567
/* dbtime on page in advence of the dbtimeBefore in record */
#define wrnCleanedUpMismatchedFiles
568
/* INTERNAL WARNING: indicates that the redo function cleaned up logs/checkpoint because of a size mismatch (see JET_paramCleanupMismatchedLogFiles) */
#define JET_errMissingFileToBackup
-569
/* Some log or patch files are missing during backup */
#define JET_errLogTornWriteDuringHardRestore
-570
/* torn-write was detected in a backup set during hard restore */
#define JET_errLogTornWriteDuringHardRecovery
-571
/* torn-write was detected during hard recovery (log was not part of a backup set) */
#define JET_errLogCorruptDuringHardRestore
-573
/* corruption was detected in a backup set during hard restore */
#define JET_errLogCorruptDuringHardRecovery
-574
/* corruption was detected during hard recovery (log was not part of a backup set) */
#define JET_errMustDisableLoggingForDbUpgrade
-575
/* Cannot have logging enabled while attempting to upgrade db */
#define errLGRecordDataInaccessible
-576
/* an incomplete log record was created because all the data to be logged was not accessible */
#define JET_errBadRestoreTargetInstance
-577
/* TargetInstance specified for restore is not found or log files don’t match */
#define JET_wrnTargetInstanceRunning
578
/* TargetInstance specified for restore is running */
#define JET_errDatabasesNotFromSameSnapshot
-580
/* Databases to be restored are not from the same Snapshot backup */
#define JET_errSoftRecoveryOnSnapshot
-581
/* Soft recovery on a database from a snapshot backup set */
#define JET_errUnicodeTranslationBufferTooSmall
-601
/* Unicode translation buffer too small */
#define JET_errUnicodeTranslationFail
-602
/* Unicode normalization failed */
#define JET_errExistingLogFileHasBadSignature
-610
/* Existing log file has bad signature */
#define JET_errExistingLogFileIsNotContiguous
-611
/* Existing log file is not contiguous */
#define JET_errLogReadVerifyFailure
-612
/* Checksum error in log file during backup */
#define JET_errSLVReadVerifyFailure
-613
/* Checksum error in SLV file during backup */
#define errBackupAbortByCaller
-800
/* INTERNAL ERROR: Backup was aborted by client or RPC connection with client failed */
#define JET_errBackupAbortByServer
-801
/* Backup was aborted by server by calling JetTerm with JET_bitTermStopBackup */
#define JET_errInvalidGrbit
-900
/* Invalid parameter */
#define JET_errTermInProgress
-1000
/* Termination in progress */
#define JET_errFeatureNotAvailable
-1001
/* API not supported */
#define JET_errInvalidName
-1002
/* Invalid name */
#define JET_errInvalidParameter
-1003
/* Invalid API parameter */
#define JET_wrnColumnNull
1004
/* Column is NULL-valued */
#define JET_wrnBufferTruncated
1006
/* Buffer too small for data */
#define JET_wrnDatabaseAttached
1007
/* Database is already attached */
#define JET_errDatabaseFileReadOnly
-1008
/* Tried to attach a read-only database file for read/write operations */
#define JET_wrnSortOverflow
1009
/* Sort does not fit in memory */
#define JET_errInvalidDatabaseId
-1010
/* Invalid database id */
#define JET_errOutOfMemory
-1011
/* Out of Memory */
#define JET_errOutOfDatabaseSpace
-1012
/* Maximum database size reached */
#define JET_errOutOfCursors
-1013
/* Out of table cursors */
#define JET_errOutOfBuffers
-1014
/* Out of database page buffers */
#define JET_errTooManyIndexes
-1015
/* Too many indexes */
#define JET_errTooManyKeys
-1016
/* Too many columns in an index */
#define JET_errRecordDeleted
-1017
/* Record has been deleted */
#define JET_errReadVerifyFailure
-1018
/* Checksum error on a database page */
#define JET_errPageNotInitialized
-1019
/* Blank database page */
#define JET_errOutOfFileHandles
-1020
/* Out of file handles */
#define JET_errDiskIO
-1022
/* Disk IO error */
#define JET_errInvalidPath
-1023
/* Invalid file path */
#define JET_errInvalidSystemPath
-1024
/* Invalid system path */
#define JET_errInvalidLogDirectory
-1025
/* Invalid log directory */
#define JET_errRecordTooBig
-1026
/* Record larger than maximum size */
#define JET_errTooManyOpenDatabases
-1027
/* Too many open databases */
#define JET_errInvalidDatabase
-1028
/* Not a database file */
#define JET_errNotInitialized
-1029
/* Database engine not initialized */
#define JET_errAlreadyInitialized
-1030
/* Database engine already initialized */
#define JET_errInitInProgress
-1031
/* Database engine is being initialized */
#define JET_errFileAccessDenied
-1032
/* Cannot access file, the file is locked or in use */
#define JET_errQueryNotSupported
-1034
/* Query support unavailable */
#define JET_errSQLLinkNotSupported
-1035
/* SQL Link support unavailable */
#define JET_errBufferTooSmall
-1038
/* Buffer is too small */
#define JET_wrnSeekNotEqual
1039
/* Exact match not found during seek */
#define JET_errTooManyColumns
-1040
/* Too many columns defined */
#define JET_errContainerNotEmpty
-1043
/* Container is not empty */
#define JET_errInvalidFilename
-1044
/* Filename is invalid */
#define JET_errInvalidBookmark
-1045
/* Invalid bookmark */
#define JET_errColumnInUse
-1046
/* Column used in an index */
#define JET_errInvalidBufferSize
-1047
/* Data buffer doesn’t match column size */
#define JET_errColumnNotUpdatable
-1048
/* Cannot set column value */
Error Message
Error Code
Description
#define JET_errIndexInUse
-1051
/* Index is in use */
#define JET_errLinkNotSupported
-1052
/* Link support unavailable */
#define JET_errNullKeyDisallowed
-1053
/* Null keys are disallowed on index */
#define JET_errNotInTransaction
-1054
/* Operation must be within a transaction */
#define JET_wrnNoErrorInfo
1055
/* No extended error information */
#define JET_wrnNoIdleActivity
1058
/* No idle activity occurred */
#define JET_errTooManyActiveUsers
-1059
/* Too many active database users */
#define JET_errInvalidCountry
-1061
/* Invalid or unknown country code */
#define JET_errInvalidLanguageId
-1062
/* Invalid or unknown language id */
#define JET_errInvalidCodePage
-1063
/* Invalid or unknown code page */
#define JET_wrnNoWriteLock
1067
/* No write lock at transaction level 0 */
#define JET_wrnColumnSetNull
1068
/* Column set to NULL-value */
#define JET_errVersionStoreOutOfMemory
-1069
/* Version store out of memory */
#define JET_errCurrencyStackOutOfMemory
-1070
/* UNUSED: lCSRPerfFUCB * g_lCursorsMax exceeded (XJET only) */
#define JET_errCannotIndex
-1071
/* Cannot index escrow column or SLV column */
#define JET_errRecordNotDeleted
-1072
/* Record has not been deleted */
#define JET_errTooManyMempoolEntries
-1073
/* Too many mempool entries requested */
#define JET_errOutOfObjectIDs
-1074
/* Out of btree ObjectIDs (perform offline defrag to reclaim freed/unused ObjectIDs) */
#define JET_errRunningInOneInstanceMode
-1080
/* Multi-instance call with single-instance mode enabled */
#define JET_errRunningInMultiInstanceMode
-1081
/* Single-instance call with multi-instance mode enabled */
#define JET_errSystemParamsAlreadySet
-1082
/* Global system parameters have already been set */
#define JET_errSystemPathInUse
-1083
/* System path already used by another database instance */
#define JET_errLogFilePathInUse
-1084
/* Log file path already used by another database instance */
#define JET_errTempPathInUse
-1085
/* Temp path already used by another database instance */
#define JET_errInstanceNameInUse
-1086
/* Instance Name already in use */
#define JET_errInstanceUnavailable
-1090
/* This instance cannot be used because it encountered a fatal error */
#define JET_errDatabaseUnavailable
-1091
/* This database cannot be used because it encountered a fatal error */
#define JET_errOutOfSessions
-1101
/* Out of sessions */
#define JET_errWriteConflict
-1102
/* Write lock failed due to outstanding write lock */
#define JET_errTransTooDeep
-1103
/* Transactions nested too deeply */
#define JET_errInvalidSesid
-1104
/* Invalid session handle */
#define JET_errWriteConflictPrimaryIndex
#define JET_errInTransaction
-1108
/* Operation not allowed within a transaction */
#define JET_errRollbackRequired
-1109
/* Must rollback current transaction — cannot commit or begin a new one */
#define JET_errTransReadOnly
-1110
/* Read-only transaction tried to modify the database */
#define JET_errSessionWriteConflict
-1111
/* Attempt to replace the same record by two different cursors in the same session */
#define JET_errDatabaseDuplicate
-1201
/* Database already exists */
#define JET_errDatabaseInUse
-1202
/* Database in use */
#define JET_errDatabaseNotFound
-1203
/* No such database */
#define JET_errDatabaseInvalidName
-1204
/* Invalid database name */
#define JET_errDatabaseInvalidPages
-1205
/* Invalid number of pages */
#define JET_errDatabaseCorrupted
-1206
/* Non database file or corrupted db */
#define JET_errDatabaseLocked
-1207
/* Database exclusively locked */
#define JET_errCannotDisableVersioning
-1208
/* Cannot disable versioning for this database */
#define JET_errInvalidDatabaseVersion
-1209
/* Database engine is incompatible with database */
#define JET_errDatabase200Format
-1210
/* The database is in an older (200) format */
#define JET_errDatabase400Format
-1211
/* The database is in an older (400) format */
#define JET_errDatabase500Format
-1212
/* The database is in an older (500) format */
#define JET_errPageSizeMismatch
-1213
/* The database page size does not match the engine */
#define JET_errTooManyInstances
-1214
/* Cannot start any more database instances */
#define JET_errDatabaseSharingViolation
-1215
/* A different database instance is using this database */
#define JET_errAttachedDatabaseMismatch
-1216
/* An outstanding database attachment has been detected at the start or end of recovery, but database is missing or does not match attachment info */
#define JET_errDatabaseInvalidPath
-1217
/* Specified path to database file is illegal */
#define JET_errDatabaseIdInUse
-1218
/* A database is being assigned an id already in use */
#define JET_errForceDetachNotAllowed
#define JET_errCatalogCorrupted
-1220
/* Corruption detected in catalog */
#define JET_errPartiallyAttachedDB
-1221
/* Database is partially attached. Cannot complete attach operation */
#define JET_errDatabaseSignInUse
-1222
/* Database with same signature in use */
#define errSkippedDbHeaderUpdate
-1223
/* some db header weren’t update because there were during detach */
#define JET_wrnTableEmpty
1301
/* Opened an empty table */
#define JET_errTableLocked
-1302
/* Table is exclusively locked */
#define JET_errTableDuplicate
-1303
/* Table already exists */
#define JET_errTableInUse
-1304
/* Table is in use, cannot lock */
#define JET_errObjectNotFound
-1305
/* No such table or object */
#define JET_errDensityInvalid
-1307
/* Bad file/index density */
#define JET_errTableNotEmpty
-1308
/* Table is not empty */
#define JET_errInvalidTableId
-1310
/* Invalid table id */
#define JET_errTooManyOpenTables
-1311
/* Cannot open any more tables (cleanup already attempted) */
#define JET_errIllegalOperation
-1312
/* Operation not supported on table */
#define JET_errObjectDuplicate
-1314
/* Table or object name in use */
#define JET_errInvalidObject
-1316
/* Object is invalid for operation */
#define JET_errCannotDeleteTempTable
-1317
/* Use CloseTable instead of DeleteTable to delete temp table */
#define JET_errCannotDeleteSystemTable
-1318
/* Illegal attempt to delete a system table */
#define JET_errCannotDeleteTemplateTable
-1319
/* Illegal attempt to delete a template table */
#define errFCBTooManyOpen
-1320
/* Cannot open any more FCBs (cleanup not yet attempted) */
#define errFCBAboveThreshold
-1321
/* Can only allocate FCB above preferred threshold (cleanup not yet attempted) */
#define JET_errExclusiveTableLockRequired
#define JET_errFixedDDL
-1323
/* DDL operations prohibited on this table */
#define JET_errFixedInheritedDDL
-1324
/* On a derived table, DDL operations are prohibited on inherited portion of DDL */
#define JET_errCannotNestDDL
-1325
/* Nesting of hierarchical DDL is not currently supported. */
#define JET_errDDLNotInheritable
-1326
/* Tried to inherit DDL from a table not marked as a template table. */
#define JET_wrnTableInUseBySystem
1327
/* System cleanup has a cursor open on the table */
#define JET_errInvalidSettings
-1328
/* System parameters were set improperly */
#define JET_errClientRequestToStopJetService
-1329
/* Client has requested stop service */
#define JET_errCannotAddFixedVarColumnToDerivedTable
-1330
/* Template table was created with NoFixedVarColumnsInDerivedTables */
#define errFCBExists
-1331
/* Tried to create an FCB that already exists */
#define errFCBUnusable
-1332
/* Placeholder to mark an FCB that must be purged as unusable */
#define wrnCATNoMoreRecords
1333
/* Attempted to navigate past the end of the catalog */
#define JET_errIndexCantBuild
-1401
/* Index build failed */
#define JET_errIndexHasPrimary
-1402
/* Primary index already defined */
#define JET_errIndexDuplicate
-1403
/* Index is already defined */
#define JET_errIndexNotFound
-1404
/* No such index */
#define JET_errIndexMustStay
-1405
/* Cannot delete clustered index */
#define JET_errIndexInvalidDef
-1406
/* Illegal index definition */
#define JET_errInvalidCreateIndex
-1409
/* Invalid create index description */
#define JET_errTooManyOpenIndexes
-1410
/* Out of index description blocks */
#define JET_errMultiValuedIndexViolation
-1411
/* Non-unique inter-record index keys generated for a multivalued index */
#define JET_errIndexBuildCorrupted
-1412
/* Failed to build a secondary index that properly reflects primary index */
#define JET_errPrimaryIndexCorrupted
-1413
/* Primary index is corrupt. The database must be defragmented */
#define JET_errSecondaryIndexCorrupted
-1414
/* Secondary index is corrupt. The database must be defragmented */
#define JET_wrnCorruptIndexDeleted
1415
/* Out of date index removed */
#define JET_errInvalidIndexId
-1416
/* Illegal index id */
#define JET_errColumnLong
-1501
/* Column value is long */
#define JET_errColumnNoChunk
-1502
/* No such chunk in long value */
#define JET_errColumnDoesNotFit
-1503
/* Field will not fit in record */
#define JET_errNullInvalid
-1504
/* Null not valid */
#define JET_errColumnIndexed
-1505
/* Column indexed, cannot delete */
#define JET_errColumnTooBig
-1506
/* Field length is greater than maximum */
#define JET_errColumnNotFound
-1507
/* No such column */
#define JET_errColumnDuplicate
-1508
/* Field is already defined */
#define JET_errMultiValuedColumnMustBeTagged
-1509
/* Attempted to create a multi-valued column, but column was not Tagged */
#define JET_errColumnRedundant
-1510
/* Second auto increment or version column */
#define JET_errInvalidColumnType
-1511
/* Invalid column data type */
#define JET_wrnColumnMaxTruncated
1512
/* Max length too big, truncated */
#define JET_errTaggedNotNULL
-1514
/* No non-NULL tagged columns */
#define JET_errNoCurrentIndex
-1515
/* Invalid w/o a current index */
#define JET_errKeyIsMade
-1516
/* The key is completely made */
#define JET_errBadColumnId
-1517
/* Column Id Incorrect */
#define JET_errBadItagSequence
-1518
/* Bad itagSequence for tagged column */
#define JET_errColumnInRelationship
-1519
/* Cannot delete, column participates in relationship */
#define JET_wrnCopyLongValue
1520
/* Single instance column bursted */
#define JET_errCannotBeTagged
-1521
/* AutoIncrement and Version cannot be tagged */
#define wrnLVNoLongValues
1522
/* Table does not have a long value tree */
#define JET_wrnTaggedColumnsRemaining
#define JET_errDefaultValueTooBig
-1524
/* Default value exceeds maximum size */
#define JET_errMultiValuedDuplicate
-1525
/* Duplicate detected on a unique multi-valued column */
#define JET_errLVCorrupted
-1526
/* Corruption encountered in long-value tree */
#define wrnLVNoMoreData
1527
/* Reached end of LV data */
#define JET_errMultiValuedDuplicateAfterTruncation
-1528
/* Duplicate detected on a unique multi-valued column after data was normalized, and normalizing truncated the data before comparison */
#define JET_errDerivedColumnCorruption
-1529
/* Invalid column in derived table */
#define JET_errInvalidPlaceholderColumn
-1530
/* Tried to convert column to a primary index placeholder, but column doesn’t meet necessary criteria */
#define JET_errRecordNotFound
-1601
/* The key was not found */
#define JET_errRecordNoCopy
-1602
/* No working buffer */
#define JET_errNoCurrentRecord
-1603
/* Currency not on a record */
#define JET_errRecordPrimaryChanged
-1604
/* Primary key may not change */
#define JET_errKeyDuplicate
-1605
/* Illegal duplicate key */
#define JET_errAlreadyPrepared
-1607
/* Attempted to update record when record update was already in progress */
#define JET_errKeyNotMade
-1608
/* No call to JetMakeKey */
#define JET_errUpdateNotPrepared
-1609
/* No call to JetPrepareUpdate */
#define JET_wrnDataHasChanged
1610
/* Data has changed */
#define JET_errDataHasChanged
-1611
/* Data has changed, operation aborted */
#define JET_wrnKeyChanged
1618
/* Moved to new key */
#define JET_errLanguageNotSupported
-1619
/* Windows NT installation does not support language */
#define JET_errTooManySorts
-1701
/* Too many sort processes */
#define JET_errInvalidOnSort
-1702
/* Invalid operation on Sort */
#define JET_errTempFileOpenError
-1803
/* Temp file could not be opened */
#define JET_errTooManyAttachedDatabases
-1805
/* Too many open databases */
#define JET_errDiskFull
-1808
/* No space left on disk */
#define JET_errPermissionDenied
-1809
/* Permission denied */
#define JET_errFileNotFound
-1811
/* File not found */
#define JET_wrnFileOpenReadOnly
1813
/* Database file is read only */
#define JET_errAfterInitialization
-1850
/* Cannot Restore after init. */
#define JET_errLogCorrupted
-1852
/* Logs could not be interpreted */
#define JET_errInvalidOperation
-1906
/* Invalid operation */
#define JET_errAccessDenied
-1907
/* Access denied */
#define JET_wrnIdleFull
1908
/* Idle registry full */
#define JET_errTooManySplits
-1909
/* Infinite split */
#define JET_errSessionSharingViolation
-1910
/* Multiple threads are using the same session */
#define JET_errEntryPointNotFound
-1911
/* An entry point in a DLL we require could not be found */
#define JET_errSessionContextAlreadySet
-1912
/* Specified session already has a session context set */
#define JET_errSessionContextNotSetByThisThread
-1913
/* Tried to reset session context, but current thread did not originally set the session context */
#define JET_errSessionInUse
-1914
/* Tried to terminate session in use */
#define JET_errRecordFormatConversionFailed
-1915
/* Internal error during dynamic record format conversion */
#define JET_errOneDatabasePerSession
-1916
/* Just one open user database per session is allowed (JET_paramOneDatabasePerSession) */
#define JET_errRollbackError
-1917
/* error during rollback */
#define JET_wrnDefragAlreadyRunning
2000
/* Online defrag already running on specified database */
#define JET_wrnDefragNotRunning
2001
/* Online defrag not running on specified database */
#define JET_wrnCallbackNotRegistered
2100
/* Unregistered a non-existent callback function */
#define JET_errCallbackFailed
-2101
/* A callback failed */
#define JET_errCallbackNotResolved
-2102
/* A callback function could not be found */
#define wrnSLVNoStreamingData
2200
/* Database does not have a streaming file */
#define JET_errSLVSpaceCorrupted
-2201
/* Corruption encountered in space manager of streaming file */
#define JET_errSLVCorrupted
-2202
/* Corruption encountered in streaming file */
#define JET_errSLVColumnDefaultValueNotAllowed
-2203
/* SLV columns cannot have a default value */
#define JET_errSLVStreamingFileMissing
-2204
/* Cannot find streaming file associated with this database */
#define JET_errSLVDatabaseMissing
-2205
/* Streaming file exists, but database to which it belongs is missing */
#define JET_errSLVStreamingFileAlreadyExists
-2206
/* Tried to create a streaming file when one already exists or is already recorded in the catalog */
#define JET_errSLVInvalidPath
-2207
/* Specified path to a streaming file is invalid */
#define JET_errSLVStreamingFileNotCreated
-2208
/* Tried to perform an SLV operation but streaming file was never created */
#define JET_errSLVStreamingFileReadOnly
-2209
/* Attach a read-only streaming file for read/write operations */
#define JET_errSLVHeaderBadChecksum
-2210
/* SLV file header failed checksum verification */
#define JET_errSLVHeaderCorrupted
-2211
/* SLV file header contains invalid information */
#define wrnSLVNoFreePages
2212
/* No free pages in SLV space Tree */
#define JET_errSLVPagesNotFree
-2213
/* Tried to move pages from the Free state when they were not in that state */
#define JET_errSLVPagesNotReserved
-2214
/* Tried to move pages from the Reserved state when they were not in that state */
#define JET_errSLVPagesNotCommitted
-2215
/* Tried to move pages from the Committed state when they were not in that state */
#define JET_errSLVPagesNotDeleted
-2216
/* Tried to move pages from the Deleted state when they were not in that state */
#define JET_errSLVSpaceWriteConflict
-2217
/* Unexpected conflict detected trying to write-latch SLV space pages */
#define JET_errSLVRootStillOpen
-2218
/* The database can not be created/attached because its corresponding SLV Root is still open by another process. */
#define JET_errSLVProviderNotLoaded
-2219
/* The database can not be created/attached because the SLV Provider has not been loaded. */
#define JET_errSLVEAListCorrupt
-2220
/* The specified SLV EA List is corrupted. */
#define JET_errSLVRootNotSpecified
-2221
/* The database cannot be created/attached because the SLV Root Name was omitted */
#define JET_errSLVRootPathInvalid
-2222
/* The specified SLV Root path was invalid. */
#define JET_errSLVEAListZeroAllocation
-2223
/* The specified SLV EA List has no allocated space. */
#define JET_errSLVColumnCannotDelete
-2224
/* Deletion of SLV columns is not currently supported. */
#define JET_errSLVSpaceMapAlreadyExists
-2225
/* Tried to create a new catalog entry for SLV Space Map when one already exists*/
#define JET_errSLVSpaceMapCorrupted
-2226
/* Corruption encountered in SLV space map */
#define JET_errSLVSpaceMapPageNotFound
-2227
/* Corruption encountered in SLV space map */
#define wrnOLDSLVNothingToMove
2228
/* Nothing in the streaming file can be moved */
#define errOLDSLVUnableToMove
-2228
/* Unable to move a SLV File in the streaming file */
#define JET_errSLVFileStale
-2229
/* The specified SLV File handle belongs to a SLV Root that no longer exists. */
#define JET_errSLVFileInUse
-2230
/* The specified SLV File is currently in use */
#define JET_errSLVStreamingFileInUse
-2231
/* The specified streaming file is currently in use */
#define JET_errSLVFileIO
-2232
/* An I/O error occurred while accessing an SLV File (general read / write failure) */
#define JET_errSLVStreamingFileFull
-2233
/* No space left in the streaming file */
#define JET_errSLVFileInvalidPath
-2234
/* Specified path to a SLV File was invalid */
#define JET_errSLVFileAccessDenied
-2235
/* Cannot access SLV File, the SLV File is locked or is in use */
#define JET_errSLVFileNotFound
-2236
/* The specified SLV File was not found */
#define JET_errSLVFileUnknown
-2237
/* An unknown error occurred while accessing an SLV File */
#define JET_errSLVEAListTooBig
-2238
/* The specified SLV EA List could not be returned because it is too large to fit in the standard EA format. Retrieve the SLV File as a file handle instead. */
#define JET_errSLVProviderVersionMismatch
-2239
/* The loaded SLV Provider’s version does not match the database engine’s version. */
#define errSLVInvalidSpaceMapChecksum
-2240
/* checksum in SpaceMap is invalid */
#define wrnSLVDatabaseHeader
2241
/* Checking the header of a streaming file */
#define errOLDSLVMoveStopped
-2242
/* OLDSLV was stopped in the middle of a move */
#define JET_errSLVBufferTooSmall
-2243
/* Buffer allocated for SLV data or meta-data was too small */
#define JET_errLSCallbackNotSpecified
-3000
/* Attempted to use Local Storage without a callback function being specified */
#define JET_errLSAlreadySet
-3001
/* Attempted to set Local Storage for an object which already had it set */
#define JET_errLSNotSet
-3002
/* Attempted to retrieve Local Storage from an object which didn’t have it set */
#define JET_errInvalidViewId
-5000
/* Invalid viewID handle */
#define JET_errViewCloseInProgress
-5001
/* Tried to do a view-op after calling CloseView */
#define JET_errExprnCorrupt
-5100
/* Exprn is exprntypNil (uninitialized node) */
#define JET_errExprnTypeMismatch
-5101
/* Operand types are not compatible */
#define JET_errExprnTooBig
-5102
/* Exprn parser ran out of memory */
#define JET_errExprnDivideByZero
-5103
/* Exprn attempted a divide/modulus by 0 */
#define JET_errExprnInvalidBase
-5104
/* When calculating x^y: x == 0.0 */
#define JET_errExprnOutOfRange
-5105
/* Input is out of range [ie: arcsin(20)]*/
#define JET_errSFSReadVerifyFailure
-6000
/* checksum error while verifying an SFS cluster */
#define JET_errSFSPathTooBig
-6001
/* the specified path exceeded the maximum path length */
#define JET_errSFSVolumeNotFound
-6500
/* the volume file could not be found */
#define JET_errSFSVolumeInvalidMagicNumber
-6501
/* the volume had a bad magic number */
#define JET_errSFSVolumeInvalidClusterSize
-6502
/* the volume’s cluster size is wrong */
#define JET_errSFSVolumeIncompatibleVersion
-6503
/* the volume’s version too old (or new) to be used by this version of SFS (format is incompatible) */
#define JET_errSFSDirectoryDisabled
-7000
/* the directory has been disabled due to an unexpected error */
#define JET_errSFSDirectoryFull
-7001
/* the directory had no room for a new file to be created */
#define JET_errSFSDirectoryCorrupt
-7002
/* the directory’s meta data is corrupt */
#define JET_errSFSFileDisabled
-7500
/* the file has been disabled due to an unexpected error */
#define JET_errSFSFileShutdown
-7501
/* the file operation failed because the file is in the middle of being closed */
#define JET_errSFSFileCorrupt
-7502
/* the file’s meta data is corrupt */
#define JET_errSFSFileShadowCorrupt
-7503
/* the file’s meta data used for shadowing is corrupt */
#define JET_errSFSFileShadowDataCorrupt
-7504
/* the file’s shadowed data (used for atomic file-writes) was corrupt [checksum failed] */
#define errSFSFileDeleted
-7504
/* INTERNAL ERROR: the file is marked as deleted and should be cleaned up */
#define JET_errSFSFileIOSparse
-8000
/* I/O was issued on 1 or more sparse (uncommitted) regions in the SFS file */
#define errSFSFileIOBeyondEOF
-8001
/* INTERNAL ERROR: the I/O was beyond EOF */
#define JET_errSFSFileIOTooBig
-8002
/* the I/O request was too large (probably because it exceeded the size of the shadow space) */
#define JET_errSFSFileIOShadowedWrite
-8003
/* the I/O could not be processed because of an error during a previous shadowed write */
#define JET_errSFSFileTooBig
-999999
/* TEMP ERROR: the SFS file is TOO BIG to be managed by a single-cluster extent map (in the future, this will go away and we will reallocate a larger extent map) */