In the previous post we took a look at some warnings in SQL 2005 that are considered as errors in SQL 2000. There are also a few opposite cases. Not serious breaking changes, but something to consider.

Error 21 (SQL 2005)
Severity 20
Error 21 (SQL 2000)
Severity 10
Warning: Fatal error %d occurred at %S_DATE. Note the error and time, and contact your system administrator.

(Same message text in SQL 2000.)

Comments:
A sinister warning in SQL 2000 becomes a fatal error in SQL 2005. Nonetheless, this remains an error related to the current task. It remains unlikely that the database has been damaged.

 
Error 2547 (SQL 2005)
Severity 16
Error 2547 (SQL 2000)
Severity 10
Unable to process object ID %ld (object "%.*ls") because it is a synonym. If the object referenced by the synonym is a table or view, retry the operation using the base object that the synonym references.

Different message text in SQL 2000:
Performing second pass of index checks.

Comments:
Clearly not the same error in the 2000 and the 2005 version. Obviously, the error numbers are subject to change and can be reused.

 
Error 2574 (SQL 2005)
Severity 16
Error 2574 (SQL 2000)
Severity 10
Table error: Page %S_PGID is empty in object ID %d, index ID %d, partition ID %I64d, alloc unit ID %I64d (type %.*ls). This is not permitted at level %d of the B-tree.

Different message text in SQL 2000:
Object ID %d, index ID %d: Page %S_PGID is empty. This is not permitted at level %d of the B-tree.

Comments:
A warning of failure that obviously needs more serious attention.

SQL 2000 Books Online...

SQL 2005 Books Online...

 
Error 2759 (SQL 2005)
Severity 16
Error 2759 (SQL 2000)
Severity 0
CREATE SCHEMA failed due to previous errors.

(Same message text in SQL 2000.)

Comments:
There is no CREATE SCHEMA statement in SQL 2000, but the error message suggest there is. A blast from the future? :)

 
Error 3266 (SQL 2005)
Severity 16
Error 3266 (SQL 2000)
Severity 10
The backup data at the end of "%ls" is incorrectly formatted. Backup sets on the media might be damaged and unusable. To determine the backup sets on the media, use RESTORE HEADERONLY. To determine the usability of the backup sets, run RESTORE VERIFYONLY. If all of the backup sets are incomplete, reformat the media using BACKUP WITH FORMAT, which destroys all the backup sets.

Different message text in SQL 2000:
The backup data in "%ls" is incorrectly formatted. Backups cannot be appended, but existing backup sets may still be usable.

Comments:
A warning about possible inconcistencies in the backup sets. Declared as more severe in SQL 2005 with a more verbose message.

 
Error 3315 (SQL 2005)
Severity 21
Error 3315 (SQL 2000)
Severity 10
During rollback, the following process did not hold an expected lock: process %d with mode %d at level %d for row %S_RID in database "%.*ls" under transaction %S_XID. Restore a backup of the database, or repair the database.

Different message text in SQL 2000:
During rollback, process %d was expected to hold mode %d lock at level %d for row %S_RID in database "%.*ls" under transaction %S_XID.

Comments:
A warning about inconsistencies in a transaction rollback becomes a fatal error. Indicates a problem that affects all tasks in the current database, but it's unlikely that the database itself has been damaged.

 
Error 3623 (SQL 2005)
Severity 16
Error 3622 (SQL 2000)
Severity 10
A domain error occurred.

(Same message text in SQL 2000.)

Different Error Number!

Comments:
The error number has been changed.

 
Error 4214 (SQL 2005)
Severity 16
Error 4214 (SQL 2000)
Severity 10
BACKUP LOG cannot be performed because there is no current database backup.

Different message text in SQL 2000:
There is no current database backup. This log backup cannot be used to roll forward a preceding database backup.

Comments:

 
Error 4506 (SQL 2005)
Severity 16
Error 4506 (SQL 2000)
Severity 10
Column names in each view or function must be unique. Column name "%.*ls" in view or function "%.*ls" is specified more than once.

(Same message text in SQL 2000.)

Comments:
Although the severity level in SQL 2000 is declared as 10 (informational) the actual severity level displayed when the errror occurs is 16 (error that can be corrected by the user). Obviously a fix in SQL 2005.

 
Error 5174 (SQL 2005)
Severity 16
Error 5174 (SQL 2000)
Severity 10
Each file size must be greater than or equal to 512 KB.

(Same message text in SQL 2000.)

Comments:

 
Error 7908 (SQL 2005)
Severity 16
Error 7908 (SQL 2000)
Severity 10
Table error: The file "%.*ls" in the partition ID %I64d is not a valid FileStream file.

Different message text in SQL 2000:
The table "%.*ls" was created with the NO_LOG option.

Comments:
Another case of the error ID being reused for a different error message.

 
Error 8984 (SQL 2005)
Severity 16
Error 8984 (SQL 2000)
Severity 10
Table error: Object ID %d, index ID %d, partition ID %I64d. A row should be on partition number %d but was found in partition number %d. Possible extra or invalid keys for:

Different message text in SQL 2000:
Object ID %d, index ID %d. Allocations for %S_PGID. IAM %S_PGID, extents %d, used pages %d, mixed pages %d.

Comments:

 
Error 8988 (SQL 2005)
Severity 16
Error 8988 (SQL 2000)
Severity 10
Row (%d:%d:%d) identified by (%ls).

Different message text in SQL 2000:
The schema for database "%ls" is changing. May find spurious allocation problems due to schema changes in progress.

Comments:
Another case of the error ID being reused for a different error message.

 
Error 13164 (SQL 2005)
Severity 16
Error 13009 (SQL 2000)
Severity 10
SEND

(Same message text in SQL 2000.)

Different Error Number!

Comments:
Different ID numbers.

 
Error 14106 (SQL 2005)
Severity 16
Error 14106 (SQL 2000)
Severity 10
Distribution retention periods must be greater than or equal to 0.

Different message text in SQL 2000:
Distribution retention periods must be greater than 0.

Comments:

 
Error 15425 (SQL 2005)
Severity 16
Error 15425 (SQL 2000)
Severity 0
No server principal is defined for sid "%.*ls".

Different message text in SQL 2000:
New application role added.

Comments:
Another case of the error ID being reused for a different error message.

 
Error 15482 (SQL 2005)
Severity 16
Error 15482 (SQL 2000)
Severity 0
Cannot change the owner of a table that has an indexed view.

Different message text in SQL 2000:
Could not deny login access to "%s".

Comments:
Another case of the error ID being reused for a different error message.

 
Error 16947 (SQL 2005)
Severity 16
Error 16947 (SQL 2000)
Severity 10
No rows were updated or deleted.

(Same message text in SQL 2000.)

Comments:
Another warning becomes an error. Related to updating an application to SQL Native Client from MDAC: "When SQL Native Client is connected to SQL Server 2005, server error 16947 is returned as a SQL_ERROR. This error occurs when a positioned update or delete fails to update or delete a row. With SQL Server 2000 and earlier versions, and with MDAC when connecting to any version of SQL Server, server error 16947 is returned as a warning (SQL_SUCCESS_WITH_INFO)."

SQL 2005 Books Online...

 
Error 17809 (SQL 2005)
Severity 20
Error 17809 (SQL 2000)
Severity 10
Could not connect because the maximum number of "%ld" user connections has already been reached. The system administrator can use sp_configure to increase the maximum value. The connection has been closed.%.*ls

Different message text in SQL 2000:
Could not connect. The maximum number of "%1!ld!" configured user connections are already connected. The system administrator can change the maximum to a higher value using sp_configure.

Comments:
A more verbose error in SQL 2005 compared to the warning in SQL 2000.

 
Error 20053 (SQL 2005)
Severity 16
Error 20053 (SQL 2000)
Severity 10
An article with a different %s value already exists for object "%s".

(Same message text in SQL 2000.)

Comments:

 
Error 21410 (SQL 2005)
Severity 16
Error 21410 (SQL 2000)
Severity 10
Snapshot Agent startup message.

(Same message text in SQL 2000.)

Comments:
Startup messages more severe in SQL 2005?

 
Error 21411 (SQL 2005)
Severity 16
Error 21411 (SQL 2000)
Severity 10
Distribution Agent startup message.

(Same message text in SQL 2000.)

Comments:
Startup messages more severe in SQL 2005?

 
Error 21412 (SQL 2005)
Severity 16
Error 21412 (SQL 2000)
Severity 10
Merge Agent startup message.

(Same message text in SQL 2000.)

Comments:
Startup messages more severe in SQL 2005?

 
Error 21422 (SQL 2005)
Severity 16
Error 21422 (SQL 2000)
Severity 10
Queue Reader Agent startup message.

(Same message text in SQL 2000.)

Comments:
Startup messages more severe in SQL 2005?

 
Error 21423 (SQL 2005)
Severity 16
Error 21423 (SQL 2000)
Severity 10
Either the publication "%s" does not exist or you do not have sufficient permissions to access it. Ensure that the publication exists and that the account under which the Merge Agent connects to the Publisher is included in the publication access list (PAL).

Different message text in SQL 2000:
You do not have sufficient privileges to view the publication information. Your administrator may need to fix the PAL role on the publisher for publication "%s".

Comments:
Another more verbose error in SQL 2005 compared to the warning in SQL 2000.

 
Error 21424 (SQL 2005)
Severity 16
Error 21424 (SQL 2000)
Severity 10
The @publisher parameter must be NULL for SQL Server publishers.

Different message text in SQL 2000:
Every SQL Server Subscriber of publication "%s" must be version %s or higher in order for compensation for errors to be turned off for its subscription.

Comments:
Another case of the error ID being reused for a different error message.

 
Error 21426 (SQL 2005)
Severity 16
Error 21426 (SQL 2000)
Severity 10
No shared agent subscription exists for publication "%s" and the subscriber/subscriber database pair "%s"/"%s".

Different message text in SQL 2000:
The generation for a row that is being inserted/updated/deleted has already been localized. Please retry the merge synchronization process.

Comments:
Another case of the error ID being reused for a different error message.

 

ML