将所有数据库从一个 SQL Server 2005 迁移到另一个

Arm*_*min 5 sql-server backup migration

我们有一个生产 SQL Server 2005 服务器,我们在上面托管了 200 个数据库。

我们想在我们的新服务器上托管这些数据库。在新服务器上安装了 SQL Server 2005 并准备就绪。

我想知道迁移整个数据的最佳和最方便的方法包括:

  • 安全和许可
  • 用户和会员
  • 所有的数据库和..

总之,我希望在新服务器上的新实例上拥有与当前 SQL Server 2005 完全相同的副本。

如果你能指导我解决这个问题,我将不胜感激。

此致

Kin*_*hah 6

免责声明:SQL Server 2005 不受主流支持。- 2016 年 4 月 12 日对 sp4 的扩展支持结束

迁移总是有停机时间。因此,根据您的停机时间,您可以进行以下设置:

  1. Logshipping (我使用了这种方法,它大大减少了停机时间)

    一种。像往常一样设置从源服务器到目标服务器的日志传送。保持同步时间为 1 分钟(这是最小值)。

    湾 在迁移当天,确保日志备份是同步的。

    C。停止所有日志传送作业,然后进行最后的尾日志备份并将主数据库置于无恢复模式(这是为了以防您需要返回主数据库)。

    d. 在with recovery使所有辅助数据库联机的辅助数据库上还原尾日志备份。

  2. 数据库镜像:我不建议在迁移 200 个数据库时使用镜像,因为您很容易耗尽此知识库文章中所述的工作线程。. 如果数据库较少,那么这将是一个可行的选择。

如果您有足够的停机时间,那么我建议您

备份/恢复方法(而不是分离/附加)好像出了问题,你至少有一个好的备份来恢复。脚本将帮助您开始移动所有登录名和数据库。只需修改它以使用备份/恢复(或在运行脚本之前进行完整备份 - 因为它使用分离/附加方法)。

迁移前您可以做的事情:

  • 有关迁移步骤,请参阅答案。有些可能也适用于您的场景。

  • 编写所有作业/ssis 包等的脚本——或者——正如@shanky 所建议的,您可以事先将系统数据库从旧服务器恢复到新服务器——这将为您提供所有登录名、作业等新服务器。

  • 在新服务器上打开即时文件初始化

  • 多个相同大小的tempdb 数据文件
  • 启用跟踪标志 1118 - 通过避免 SGAM 和其他分配争用点来帮助 TEMPDB 可扩展性。
  • 正确配置最大和最小内存。特别是最大内存远离默认值。
  • 正确调整 MAXDOP 设置。有关更多详细信息,请参阅https://dba.stackexchange.com/a/36578/8783
  • 最好是安装sp_Blitz从布伦特奥扎尔。 运行它并解决它报告的关键和高优先级问题。
  • 你甚至可以使用SQL电源文件从kendalvandyke - SQL电源督工作与SQL Server的所有版本的SQL Server 2000至2012年从Windows 2000和Windows XP通过Windows Server 2012的和Windows和Windows Server和消费者的Windows操作系统的所有版本8. 也可用于规划升级 - 查看实例上正在使用的隐藏功能。

编辑:

您可以使用powershell将所有数据库从一台服务器迁移到另一台服务器,如使用 PowerShell 迁移整个 SQL Server 实例(数据库、登录名、作业等)中所述

通过备份和恢复或分离和附加迁移具有简单或复杂文件结构的数据库。还迁移具有密码、SID、服务器和数据库权限集、服务器和数据库角色、服务器配置设置、SQL 代理对象、系统数据库中的用户对象的用户。