问:我注意到,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开发团队
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器