Consider the following scenario:
In this scenario, you will notice that, in the upgraded version, the default value for the column will have an additional parenthesis around it and any application that is coded to accept the original default values from SQL Server 2000 will fail.
The following table shows how different versions of SQL Server store a default value of 0 in the catalog metadata tables:
Note: This problem only affects numeric values. Text and functions will be stored in the same format in both SQL Server 2000 and the newer versions.
For example, text will be stored as (‘text’), function() will be stored as (function()).
- In a SQL Server 2000 database you have a column in a table that is configured to have a specific default value.
- You upgrade this database to a later version of SQL Server (either SQL Server 2005, or SQL Server 2008 or SQL Server 2008 R2).
In this scenario, you will notice that, in the upgraded version, the default value for the column will have an additional parenthesis around it and any application that is coded to accept the original default values from SQL Server 2000 will fail.
The following table shows how different versions of SQL Server store a default value of 0 in the catalog metadata tables:
Version | SQL Server 2000 | SQL Server 2005 or later |
Value | (0) | ((0)) |
Note: This problem only affects numeric values. Text and functions will be stored in the same format in both SQL Server 2000 and the newer versions.
For example, text will be stored as (‘text’), function() will be stored as (function()).