我有许多使用 SQL Server 2008 的客户端,这也是我服务器上的客户端。我使用备份文件在客户和我的办公室之间来回发送数据库。
我读到当您从 SQL Server 2012 创建备份时,无法将其还原到 2008 实例。我认为兼容性级别会解决这个问题,但事实并非如此。因此,我不知道如何升级。除了一次升级所有客户端(这是不可能的)之外,我想不出干净的方法来做到这一点。
我需要将数据库发送到客户端以及从客户端接收数据库。这是我在 SQL Server 上的第一次版本升级,所以我是这个问题的新手。关于如何进行的任何想法?
Bre*_*zar 17
这里涉及两件事:文件的版本号和兼容性级别。当您将数据库附加到较新的主要版本(例如从 2008 到 2008R2,或 2008R2 到 2012)时,数据库版本将永久更改,并且您无法再次将该数据库附加到旧版本。
兼容级别用于解析曾经在旧版本 SQL Server 中工作的过时的弃用 T-SQL。它不会改变数据在磁盘上的存储方式。
要将数据库提供给使用旧版 SQL Server 的人,您需要导出数据并将其导入另一个数据库。Red Gate 的数据比较等工具对此很有帮助。
SQL Server 使用兼容性级别设置来确定应如何处理某些新功能。通过这种方式,可以将数据库迁移到更新版本的 SQL,而不会出现应用程序问题。兼容性级别可以来回更改。
不幸的是,备份文件不向后兼容。一种方法是使用导入/导出将数据从当前数据库移到旧版本实例。