将数据库从 SQL Server 2000 升级到 SQL Server 2014

use*_*446 1 sql-server sql-server-2008-r2 upgrade sql-server-2014

我在 SQL Server 2008 R2 中有数据库。我备份了这个数据库并在 SQL Server 2014 服务器上恢复了它。但是,某些数据库查询看起来与新版本不兼容。

例如,*=运算符在 SQL Server 2014 中引发错误。

我不想更改出现问题的每个查询。有没有办法升级旧版本的 SQL Server 备份以使用新版本的数据库?

Han*_*non 6

您无法将 SQL Server 2000 数据库还原到 SQL Server 2014 实例。您需要先恢复到 SQL Server 2008 或 2008 R2 实例,然后对该数据库进行备份,然后可以恢复到 2014。

SQL Server 2000 中的许多功能已在 SQL Server 2014 中停止使用。有关已停止使用的功能以及用作替代品的功能的详细信息,请参阅列表。

不幸的是,您别无选择,只能重新编码使用古老=**=连接语法的查询。

SQLMag有一篇关于如何进行迁移的很棒的文章。

  • @user3783446 我不知道有什么工具可以将 `*=` / `=*` 查询转换为正确的连接,在所有正确的位置准确插入分号等。有几种工具可以帮助*识别*那些,如升级顾问、最佳实践分析器、SQLCop 等(我试图指出 [this answer](http://dba.stackexchange.com/a/44912/1186) 中的一系列实际行为变化)。但是从 2000 年开始需要一些实际工作。 (3认同)