将代码页从SQL Server 7.0改变到SQL Server 2000
问:我注意到,SQL Server 7.0默认安装的代码页设置是SQL_Latin1_General_CP1_CI_AS,但是SQL Server 2000的默认代码页是Latin1_General_CI_AS。在我需要将SQL Server 7.0数据库恢复到SQL Server 2000之中时,默认代码页发生的变化会造成很大的差异。我应该如何适应这种改变?
答:SQL Server正在逐渐取消对原有的自定义代码页的支持,而转变为同Microsoft® Windows 代码页相匹配,Windows代码页是您在设置Windows区域ID时所选择设定的。同代码页相关的更多信息,请参阅SQL Server 2000在线图书中的“字符数据的存储方式”一文。
当您将SQL Server 7.0升级到SQL Server 2000之后,在默认情况下,您仍然可以保留现有的排序方式和代码页设置。但是,当您进行了一次干净的SQL Server 2000安装时,您将使用新的排序方式和代码页。如果您将某个数据库附加到一个SQL Server 2000实例中,SQL Server将保留该数据库在创建时所使用的排序规则。换句话说,如果您将一个SQL Server 7.0数据库附加到SQL Server 2000之中,你就可以保留SQL Server 7.0代码页。
由于SQL Server现在使用了新的默认代码页,我们建议:如果您想通过干净安装和数据库的附加(attch)操作进行升级,您可以在安装时选择同您的SQL Server 7.0排序规则相匹配的排序规则。您可以通过执行一次升级来确定该排序规则,例如,对pubs数据库进行一次升级,使用SERVERPROPERTY (Collation)函数运行一个查询,然后看看所得到的是何种排序规则。
Microsoft之所以对默认代码页进行修改,主要是为了减少SQL Server和Windows代码页的不兼容而引起的种种问题。
? Microsoft SQL Server开发团队