如何将SQL 2000日志迁移到SQL Server 2008
 


  不能将 SQL Server 2000 日志传送配置升级到 SQL Server 2008.数据库维护计划向导是 SQL Server 2000 中日志传送的组成部分,不再用作 SQL Server 2005 及更高版本中日志传送配置的一部分.因此,将服务器升级到 SQL Server 2008 之后,日志传送将无法正常工作.

  您可以迁移SQL Server 2000日志传送配置.本文将介绍执行此操作的方法:

  执行带故障转移的迁移可以在升级日志传送配置中的每个服务器时保持数据库的可用性.辅助数据库不需要重新初始化.

  执行不带故障转移的迁移是一个比较简单的过程,在此过程中无需故障转移到辅助服务器.如果执行此过程,则数据库在升级主服务器时不可用.辅助数据库不需要重新初始化.

  完全重新部署日志传送,包括从一个完整备份中重新初始化辅助数据库.

  将日志传送配置迁移到 SQL Server 2008 后,就可以删除由 SQL Server 2000 日志传送创建的表和 SQL Server 代理作业.

  注意:

  SQL Server 2008 Enterprise 中引入了备份压缩.迁移后的日志传送配置使用"备份压缩默认的"服务器级配置选项控制是否对事务日志备份文件使用备份压缩.可以为每个日志传送配置指定日志备份的备份压缩行为.

  限制

  在 SQL Server 2000 日志传送配置迁移至 SQL Server 2008 之后,辅助数据库将无法处于备用模式下.

  执行带故障转移的迁移

  使用故障转移迁移日志传送配置时,会在升级辅助服务器实例期间将主服务器实例暂时保留为 SQL Server 原始版本的实例.升级服务器实例仅会升级联机数据库.脱机数据库(例如日志传送辅助数据库)仍然是 SQL Server 原始版本的数据库.只要数据库保持脱机状态,就可以还原 SQL Server 原始版本的日志备份.

  为清晰起见,本过程将 SQL Server 2000 日志传送主服务器实例称为服务器 A,将 SQL Server 2000 日志传送辅助服务器实例称为服务器 B.下图显示了此配置,其中 A 为主服务器实例,B 为单一辅助服务器实例.

  将辅助服务器实例 Server B 升级到 SQL Server 2008.升级 Server B 后,日志传送数据库仍然是 SQL Server 2000 数据库,因为它处于脱机状态.此数据库将在下一步升级.复制和还原日志文件的 SQL Server 2000 日志传送作业将不再起作用.

  注意:

  此时,用户可以继续访问 Server A 上的主数据库.

  从主服务器实例(服务器 A)到辅助服务器实例(服务器 B)的故障转移.

  若要进行故障转移,请将服务器 A 上的主数据库中所有尚未应用的事务日志备份还原到服务器 B.

  对于指定 WITH NORECOVERY 的主数据库上的事务日志,手动执行结尾日志备份.此日志备份捕获任何尚未备份的日志记录并使数据库脱机.

  下面的示例在主服务器上备份 AdventureWorks 数据库的日志结尾.此备份文件名为 Failover_AW_20080315.trn:

  BACKUP LOG AdventureWorks TO DISK = N''\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn''WITH NORECOVERY;GO

  通过使用 WITH RECOVERY 还原事务日志结尾,使服务器 B 上的辅助数据库联机.

  故障转移过程使辅助数据库联机,之后将自动升级到 SQL Server 2008 数据库.数据库升级过程将被完整地记录下来.

  注意:

  升级 Server B 上的日志传送数据库后,用户即可使用该数据库.但是,除非已在服务器 B 上配置 SQL Server 2008 日志传送,否则不会采用来自服务器 B 上的数据库的日志备份.

  将 Server A 升级到 SQL Server 2008.日志传送数据库临时保持为 SQL Server 2000 数据库,因为它处于脱机状态.

  在 Server B 上配置 SQL Server 2008 日志传送,将 Server B 作为主服务器,而将 Server A 作为辅助服务器.开始向 Server A 传送事务日志后,当应用了第一个日志备份时,Server A 上的日志传送数据库将升级为 SQL Server 2008 数据库.

  重要提示:

  在 Server B 上配置日志传送时,请确保在"辅助数据库设置"对话框的"初始化辅助数据库"选项卡上指定"否,辅助数据库已初始化"选项.

  (可选)若要使 Server A 重新成为主服务器,则故障转移到 Server A.

  执行不带故障转移的迁移

  可以将 SQL Server 2000 日志传送配置迁移到 SQL Server 2005,而无需使用故障转移.执行此过程可以轻松地同时升级日志传送配置中的两个服务器实例.但是,在将主服务器实例升级到 SQL Server 2008 时,主数据库不可用.

  将辅助服务器实例升级到 SQL Server 2008.升级辅助服务器实例后,日志传送数据库仍然是 SQL Server 2000 数据库,因为它处于脱机状态.复制和还原日志文件的 SQL Server 2000 日志传送作业将不再起作用.

  将主服务器升级到 SQL Server 2008.在升级过程中,主服务器不可用.

  配置从主服务器实例到辅助服务器实例的日志传送.请确保在"辅助数据库设置"对话框的"初始化辅助数据库"选项卡上指定"否,辅助数据库已初始化"选项.

  重要提示:

  指定 SQL Server 2000 日志传送配置所使用的同一备份共享.这样可确保在 SQL Server 2008 中启用日志传送时,所有日志备份都能正确地应用于辅助数据库.

  由于数据库升级进程是一个完整记录的操作,因此当开始向辅助服务器实例传送日志后,辅助数据库将升级为 SQL Server 2008 数据库.

  重新部署日志传送

如果不想迁移日志传送配置,可以通过使用主数据库的完整备份和恢复来重新初始化辅助数据库,从而从头开始重新部署日志传送.如果数据库较小,或者在升级过程中高可用性并不是至关重要的,此方法将是个不错的选择.

  启用日志传送

  如何启用日志传送 (SQL Server Management Studio).

  如何启用日志传送 (Transact-SQL).

  删除 SQL Server 2000 日志传送表和作业

  SQL Server 2008 不会使用 SQL Server 2000 所使用的任何日志传送表.因此,将服务器升级到 SQL Server 2008 之后,可以删除这些表.这些表包括:

  log_shipping_databases

  log_shipping_monitor

  log_shipping_plan_databases

  log_shipping_plan_history

log_shipping_plans

  log_shipping_primaries

  log_shipping_secondaries

  还可以删除由 SQL Server 2000 为日志传送配置创建的任何日志传送 SQL Server 代理作业.


也许下面的会对您有所帮助:

关于SQL Server数据体系和应用程序逻辑详解?
http://www.34514.cn/style/info/shownews.asp?id=515

关于SQL Server日志文件总结及日志满的处理?
http://www.34514.cn/style/info/shownews.asp?id=668

SQL Server连接中的最常见错误列表?
http://www.34514.cn/style/info/shownews.asp?id=383