本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!
[MDT] 升级或迁移原 MDT 数据库经验分享
接上回(分享 MDT 2010 数据库版本的相关经验)继续,gOxiA 特地搭建了测试环境对相关知识盲点进行了实际测试学习。总结如下:
- 如果从原 MDT 2008 上进行升级,那么 MDT 2010 会自动升级你的 MDT 数据库,即使数据库版本是 SQL Server 2000;
- 同上,如果之前已经存在一个 MDT 2008 数据库,那么只需要在 MDT 2010 数据库配置中直接选中之前已经存在的数据库即可;
- 同理,验证 MDT 2010 的数据库是可以基于 SQL Server 2000 的(并不存在无法连接这一说法),那么我们可以在 SQL Server 2000 上的用于 MDT 的数据库上执行 MDT 2008 带的数据库查询脚本,创建对应的表。之后再通过前面的步骤进行升级;
- 如果需要将基于 SQL Server 2000 上的 MDT 数据库迁移到 SQL Server 2005 或 2008 版本上,那么可以使用 SQL Server Management Studio 附加原数据库,或通过导入和导出数据功能将原数据库中的表导入到新版本的数据库中。
- 最后,如果是全新安装的 MDT 2010,并且不存在上一版本的 MDT 数据库,那么要创建和使用 MDT 数据库,则 SQL Server 版本必须高于 SQL Server 2000,否则就会出现之前日志中出现的数据库错误。
分享 MDT 2010 数据库版本的相关经验
如果你在配置 MDT 2010 数据库时出现:“Unable to create necessary database objects. 第 1 行:’MAX"’附件有语法错误。”的错误提示,那么继续浏览该篇日志是非常有必要的。
很惭愧,gOxiA 直到昨天才知道 MDT 2010 “不完全支持”SQL Server 2000 数据库。为什么会这么说呢?!原因就是 gOxiA 为一个环境配置 MDT 2010 应用,但是在为 MDT 2010 配置数据库时出现了上面的错误信息,能想到的排错都用上了,据说是我人品问题大爆发,才会遇到!不过专家们友情提示与 SQL Server 版本有关!但是在另一个环境中确实是MDT 2010 + SQL Server 2000 这样组合,回忆之前的部署经历,该组合是从 MDT 2008 一路升级过来的,难道与此有关。而且分析了 MDT 2010 的 SQL 查询脚本,确实在 SQL Server 2000 中出现错误。
之后安装了 SQL Server 2005 和 2008 Express 两个版本在不同的环境下测试,均配置正常。看来问题确实出在 SQL Server 版本上,而之前咨询的 MDT 2010 不能与 SQL Server 2000 连接这一说法并不完全正确,有事实有真相。而之所以之前的那个 MDT 2010 + SQL Server 2000 能完全正常工作,恐怕是因为在 MDT 2010 Beta 和 MDT 2010 RC 阶段时还支持 SQL Server 2000,所以内置的查询脚本顺利地升级了我的 SQL Server 2000 下的数据库,而 MDT 2010 RTM 正式发布后,说明中并未明显强调对数据库的限制而导致我的故障发生。对此,我昨天已经做了深刻的检讨,但是我不认为错全在我!根据这一系列的测试,其实只要 MDT 2010 的数据库进行了升级或已经生成,还是可以挂在 SQL Server 2000 上使用的。设计使然,也懒得再做进一步的研究!
撰写这篇日志,存粹安慰自己,同时友情提示其他朋友,一但遇到这个问题知道是什么原因所致。我会在下一篇日志中与大家分享我是如何将之前 SQL Server 2000 中的 MDT 2010 数据库升级或迁移到 SQL Server 2005 和 2008 (包含 Express)中去。