完全升级SQL数据库

我们有一个以前在SQL Server 7上运行的SQL Server 2000服务器,其结果是默认的sorting规则不是SQL 2000以后的默认设置(SQL_Latin1_General_CP1_CI_AS而不是Latin1_General_CI_AS)。

无论如何,我们现在计划最终升级到SQL Server 2008。 虽然升级顾问显示除了涉及一些遗留系统表的一个维护sp之外没有任何问题,但是我想知道如何对数据库进行“全面”升级,而不是简单地将数据库保持在兼容模式,而如果我们或者进行升级,或者将SQL2000数据库恢复/附加到SQL2008实例。

所以我有各种各样的问题:

  1. 将数据库保持在2000兼容模式,我们会失去任何function吗?
  2. 如果我们将兼容模式更改为2008年,什么可以打破? 会有其他设置,我们需要改变,使其完全SQL 2008数据库?
  3. 有没有什么办法让升级忽略现有的sorting规则引用,并始终使用服务器默认值?
  4. 或者是从头开始重新编写数据库,然后再导入数据呢?

基本上我们想要升级,但是要确保这个传统的数据库/服务器可以从SQL Server的新版本的function中完全获益。

  1. 您将失去运行较新命令的能力,但是除非使用数据库升级应用程序(现在不可能使用2008function),否则不会失去任何function,

2.在线阅读有关兼容级别变更的书籍。 请注意,这些是语言解释的变化,所以您仍然可以在查询引擎等方面获得改进

我不知道。 您可以通过alter database collat​​ion来更改它。 如果sortingSQL_Latin1_General_CP1_CI_ASSQL_Latin1_General_CP1_CI_ASLatin1_General_CI_AS ,则应该看到的差别不大,但两者都有比另一个更快或更慢的实例。

Latin1_General_CI_AS : – Latin1-General,区分大小写,区分变音,不区分大小写,不区分宽度

对于Unicode数据, SQL_Latin1_General_CP1_CI_AS : – Latin1-General,区分大小写,区分变音,kanatype不区分大小写,宽度不敏感,代码页1252上的SQL Serversorting52

你可以从fn_helpcollat​​ions中获得更多的想法。

你可以做到这一点,但默认情况下,你的数据库兼容性级别将为100,这可能无法正常工作与您的遗留应用程序。 最好查看应用程序支持的最新版本的SQL Server,并设置兼容级别。

  1. 是的,如果您将数据库保持在2000兼容模式,那么您将失去所有2005/8的内容
  2. 联机丛书中有一节介绍已停用的function。 给一看。
  3. 据我所知,并不如此。 当然,你可以做一个干净的2008年安装,并跨数据库迁移,但这将不得不在一个命名实例。
  4. 我投这个想法。 那么你有一个完整的退出计划。