52
SQL Server 2012 Upgrade Technical Guide
For a detailed view of what in-place upgrade paths are allowed, see Table 1 in
Appendix 1, "Version and Edition Upgrade Paths," in this guide and
Supported Version
and Edition Upgrades
(http://msdn.microsoft.com/en-
us/library/ms143393(v=sql.110).aspx) in SQL Server 2012 Books Online.
Upgrading Database Collation
As databases continue to expand and support a growing global market, users must be
able to work with character data in meaningful ways. Collations are a powerful way for
users to sort and compare strings according to their own cultural conventions.
Therefore, collations are an important factor when you create a database and operate
on the data. In addition, when you use the character data types such as char and
varchar, the collation dictates the code page and therefore determines which characters
can be represented for that data type.
SQL Server 2008 R2 introduced, and SQL Server 2012 continues with, collations that are
in full alignment with the collations provided by Windows Server 2008 R2. These new
collations are denoted by *_100 version and give users the most up-to-date and
linguistically accurate cultural sorting conventions.
The new collations include support for new East Asian government standards that are
linguistically correct for surrogates, support for Chinese minority scripts, the Unicode
5.0 case table, and weights to previously non-weighted characters that would have
compared equal.
Database collation upgrade considerations. Here are some considerations that might
affect an upgrade of a database collation:
Compatibility with existing instances of SQL Server or application code that
depends on consistent SQL Server collations sorting behavior. Changing
collations might require rebuilding indexes, so consider the decision to change
collations carefully based on business and technical requirements.
o
The current need or future requirement to store character data from
different languages: If you have both Unicode and non-Unicode data in
your database, consider using the Windows-based collations because
they apply Unicode-based sorting rules to both Unicode and non-
Unicode data. This provides the following benefits:
Enables consistency across data types in SQL Server because non-
Unicode data is converted to Unicode to perform comparison
operations.
53
SQL Server 2012 Upgrade Technical Guide
Enables developing applications that use sort semantics consistent
with SQL Server, Windows, and other Microsoft applications.
No one else is using the database during the change in collation.
You have no schema-bound objects that depend on the database collation,
including the following:
o
User-defined functions and views created by using SCHEMABINDING.
o
Computed columns.
o
CHECK constraints.
o
Table-valued functions that return tables that have character columns
with collations inherited from the default database collation.
o
A collation change that can potentially cause duplicate system names,
such as switching from case-sensitive to case-insensitive or changing
from a collation with unique character weights, which will raise an error
and fail. Objects that can potentially cause duplications are as follows:
Object names (procedure, table, trigger, or view)
Schema names (group, role, or user)
Scalar-type names (system and user-defined types)
Full-text catalog names
Column or parameter names in an object
Index names in a table
Changing the database collation does not alter the collations in pre-existing
tables. New tables that are created after you change to the new collation will use
the new collation.
Changing between collations with different code pages is not recommended.
This might result in data loss when you change the collation of a column to a
collation that is not recognized in the target collation’s code page. For example,
if you change from a Japanese to an English collation, be aware that most
Japanese characters are not recognized by the Latin1_General_CI_AS 1252 code
page. If you have to change collations to different languages, try the following:
o
Store only data that belongs to the code page for the character column.
o
Change from a non-Unicode data type (char, varchar) to a Unicode data
type (nchar, nvarchar).
54
SQL Server 2012 Upgrade Technical Guide
For more information about how to change collations, you can download the following
white papers:
The Impact of Changing Collations and of Changing Data Types from
Non-Unicode to Unicode
(http://go.microsoft.com/fwlink/?LinkID=113891) and
Best
Practices for Migrating Non-Unicode Data Types to Unicode
.
(http://go.microsoft.com/fwlink/?LinkID=113890).
In-Place Upgrade and Localization
The English version of SQL Server is supported on all localized versions of supported
operating systems. In addition, localized versions of SQL Server are supported on
localized operating systems that are the same language as the localized SQL Server
version.
However, there are some important in-place upgrade restrictions when you change
from one language to another:
You can upgrade localized versions of SQL Server 2005/2008/2008 R2 to
localized versions of SQL Server 2012 of the same language.
You cannot upgrade non-English localized versions of SQL Server to the English-
language version of SQL Server 2012.
You cannot upgrade the English version of SQL Server to any non-English-
language localized version of SQL Server 2012. Note: This is a change from SQL
Server 2005.
You cannot upgrade localized versions of legacy SQL Servers to a localized SQL
Server 2012 version if the upgrade is to a different localized language. The in-
place upgrade must be to the same localized language.
Localized versions of SQL Server are also supported on English-language versions of
supported operating systems by using the Windows Multilingual User Interface Pack
(MUI) settings. However, you must verify certain operating system settings before you
install a localized version of SQL Server on a server that is running an English-language
operating system with a non-English MUI setting. Verify that the following operating
system settings match the language of SQL Server to be installed:
The operating system user interface setting
The operating system user locale setting
The system locale setting
If these operating system settings do not match the language of the localized SQL
Dostları ilə paylaş: |