快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

如何将SQL Server数据库迁移到SQL Server的较新版本

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

DBA清楚地知道,降级SQL Server数据库不是开箱即用的。即使需要迁移到旧版SQL Server版本的数据库的兼容性级别与该版本匹配,也无法简单地还原备份。升级也可能是一个问题。

将在SQL Server 2008 R2上创建的数据库备份还原到SQL Server 2012实例可以顺利进行。但是,如果尝试在SQL Server 2012上还原SQL Server 2000备份,则会显示以下错误:

如何将SQL Server数据库迁移到SQL Server的较新版本

解决方案之一是:

  1. 在SQL Server 2008上还原SQL Server 2000备份
  2. 将兼容性级别设置为100
  3. 在SQL Server 2008上创建数据库备份
  4. 在SQL Server 2012上还原SQL Server 2008备份
  5. 将兼容性级别设置为110

该解决方案的缺点是必须安装3个版本的SQL Server,并且必须手动删除已停用或不推荐使用的T-SQL功能。

如果无法访问从中获取备份的实时数据库:

  1. 启动SQL Server Management Studio并连接到包含数据库的实例
  2. 在数据库上下文菜单中,右键单击所需的数据库,然后导航到Tasks => Generate Scripts:如何将SQL Server数据库迁移到SQL Server的较新版本
  3. 这将调用“ 生成脚本”向导。在向导的“ 简介”步骤中,单击“ 下一步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  4. 在向导的“选择对象”步骤中,确保已选中“ 脚本整个数据库和所有数据库对象脚本”选项,然后单击“ 下一步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  5. 在向导的“ 设置脚本选项”步骤中:
    1. 选择将脚本保存到特定位置选项
    2. 指定是将数据库对象和数据编写为单个文件还是多个文件的脚本,以及生成的脚本的路径和编码:如何将SQL Server数据库迁移到SQL Server的较新版本
    3. 点击高级按钮
    4. 在出现的“ 高级脚本选项”窗口中:
      • 在“ 服务器版本脚本”选项中,设置“ SQL Server 2012”
      • 在“ 要脚本的数据类型”选项中,设置“ 架构和数据”
      • 将以下选项设置为True
        • 脚本登录
        • 脚本全文索引
        • 脚本触发器
      • 点击确定按钮如何将SQL Server数据库迁移到SQL Server的较新版本
  6. 单击下一步按钮
  7. 在向导的“ 摘要”步骤中,单击“ 下一步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  8. 在向导的“ 保存脚本”步骤中,单击“ 完成”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  9. 针对更新的SQL实例执行生成的SQL脚本

尽管上面列出的过程应该可行:

  1. 停止使用或不推荐使用的T-SQL功能必须手动删除
  2. 如果数据库包含SQL Server无法识别的依赖关系(例如,对位于链接服务器上的数据库的依赖关系),则可能会失败

如果由于任何原因(例如,将数据库迁移到没有网络连接的异地位置)均无法访问原始数据库,则以上过程不适用。


这是ApexSQL DiffApexSQL Data Diff可以提供帮助的地方。

ApexSQL Diff是一个SQL Server数据库比较和同步工具,它可以检测数据库对象之间的差异并解决它们而不会出现错误。它会针对发现的差异生成全面的报告,并可以自动执行实时数据库和版本数据库,备份,快照,脚本文件夹和源代码控制项目之间的同步过程。

ApexSQL Data Diff是一个SQL Server数据比较和同步工具,它可以检测数据差异并解决它们而不会出错。它可以比较和同步实时数据库以及本机或本机压缩的数据库备份,脚本文件夹和源代码管理项目,并且可以生成有关检测到的差异的综合报告。

要将备份还原到较新的SQL Server版本:

    1. 在目标SQL实例上,创建一个空数据库来保存从备份还原的数据和对象
    2. 启动ApexSQL Diff
    3. 单击“ 项目管理”窗口中的“ 新建”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
    4. 在“ 源”面板中:
      • 下拉列表中 选择备份
      • 单击添加按钮,然后导航到备份文件所在的文件夹
      • 选择备份,然后单击“ 打开”按钮
    5. 在“ 目标”面板中:
      • 目标下拉列表中 选择数据库
      • 服务器下拉列表中 指定需要恢复对象的数据库所在的SQL实例
      • 指定该SQL实例的身份验证方法(如果选择了SQL Server身份验证,则指定一组有效的凭据)
      • 在“ 数据库”下拉列表中,指定要将对象恢复到的数据库的名称。

      如何将SQL Server数据库迁移到SQL Server的较新版本

    6. 单击“ 新建项目”窗口右下角的“ 比较”按钮
    7. 选择“ 结果”网格中列出的所有对象:如何将SQL Server数据库迁移到SQL Server的较新版本
    8. 单击功能区“ 主页”选项卡的“ 操作”区域中的“ 同步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
    9. “ 同步”向导的“ 同步方向”步骤中,单击“ 下一步”按钮如何将SQL Server数据库迁移到SQL Server的较新版本
    10. “ 同步”向导的“ 依赖关系”步骤中,单击“ 下一步”按钮,因为将同步所有对象,所以将包含所有依赖的对象,并且此列表为空:如何将SQL Server数据库迁移到SQL Server的较新版本
    11. 在“ 同步”向导的“ 输出选项”步骤中,选择“立即同步”操作,然后单击“ 下一步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
    12. 查看同步摘要和警告(如果有),然后单击“ 同步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
    13. 完成同步过程后,将显示 “ 结果”窗口:如何将SQL Server数据库迁移到SQL Server的较新版本
    14. 启动ApexSQL数据差异
    15. 单击“ 项目管理”窗口中的“ 新建”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
    16. 在“ 源”面板中:
      • 下拉列表中 选择备份
      • 单击添加按钮,然后导航到备份文件所在的文件夹
      • 选择备份,然后单击“ 打开”按钮
    17. 在“ 目标”面板中:
      • 目标下拉列表中 选择数据库
      • 从“ 服务器”下拉列表中 指定要从中恢复数据的数据库所在的SQL实例。
      • 指定该SQL实例的身份验证方法(如果选择了SQL Server身份验证,则指定一组有效的凭据)
      • 在“ 数据库”下拉列表中指定要将数据恢复到的数据库的名称。

如何将SQL Server数据库迁移到SQL Server的较新版本

  1. 单击“ 新建项目”窗口右下角的“ 比较”按钮
  2. 在“ 结果”网格中,选择要将数据恢复到的数据库表:如何将SQL Server数据库迁移到SQL Server的较新版本
  3. 在“ 数据差异视图”面板中,选择要恢复的行:如何将SQL Server数据库迁移到SQL Server的较新版本
  4. 单击功能区“ 主页”选项卡的“ 操作”区域中的“ 同步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  5. “ 同步”向导的“ 同步方向”步骤中,单击“ 下一步”按钮如何将SQL Server数据库迁移到SQL Server的较新版本
  6. 在“ 同步”向导的“ 输出选项”步骤中,选择“立即同步”操作,然后单击“ 下一步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  7. 查看同步摘要和警告(如果有),然后单击“ 同步”按钮:如何将SQL Server数据库迁移到SQL Server的较新版本
  8. 完成同步过程后,将显示 “ 结果”窗口:

如何将SQL Server数据库迁移到SQL Server的较新版本

这样,通过先对原始数据库备份和空白活动数据库进行架构同步,然后再进行数据同步,可以将SQL Server数据库的旧版本迁移到新版本。ApexSQL DiffApexSQL Data Diff将处理所有已贬值和已停产的功能。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638