繁体   English   中英

SQL Server 2000到SQL Server 2008 R2的迁移

[英]SQL Server 2000 to SQL Server 2008 R2 migration

我使用SQL Server 2000包括77个数据库,我想将它们迁移到新的SQL Server 2008 R2。

我可以使用attach或restore命令单独执行此操作。 是否有任何脚本可以将77个数据库迁移到安装了SQL Server 2008 R2的新服务器。

谢谢

您可以编写脚本以在循环中进行备份并在另一台服务器上进行还原

只要备份文件对两个服务器都可见。 这将允许WITH MOVE选项允许不同的驱动器/文件夹。

备份也小于MDF / LDF,以减少复制

您需要生成自己的脚本,因为您真的想做的不仅仅是备份和还原。 您可能想要做的其他事情是运行DBCC UpdateUsage,设置兼容级别,更新统计信息,使用Data_Purity运行DBCC CheckDB,将页面验证选项更改为校验和。 您也可以使用复制和全文目录进行处理。 所有这些事情都可能需要进入你的脚本。

您需要设置一个脚本,该脚本执行先前在数据库中提及的所有/部分/更多内容,然后扩展您的脚本以循环遍历所有数据库。 这可以使用批处理文件或powershell文件的组合并使用sqlcmd来完成。

例如,这是我将备份还原到新服务器后运行的一个脚本。 这是通过sqlcmd从Windows批处理文件调用的。

USE [master]

ALTER DATABASE [$(DATABASENAME)] SET COMPATIBILITY_LEVEL = 100

ALTER DATABASE [$(DATABASENAME)] SET PAGE_VERIFY CHECKSUM WITH NO_WAIT GO

使用[$(DATABASENAME)]

Go声明@DBO sysname

- 是sa用户

从sys.server_principals中选择@DBO = name其中principal_id = 1

- 分配数据库所有者

exec('sp_changedbowner'''+ + DBO +'''')去吧

- 修正计数

dbcc updateusage(0)go --check db包含列值的完整性

dbcc checkdb(0)使用Data_Purity,ALL_ERRORMSGS,NO_INFOMSGS去

- 确保统计数据是最新的

exec sp_updatestats

您可以使用Sql Compare等软件工具。

如果没有,我会单独编写脚本。

您可以运行内部sysobjects表并构建组合脚本,但我不会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM