看来,你已经决定要从SQL Server 2000升级到SQL 2005了。
你可能已经在你的桌面电脑和测试环境中安装了一个SQL Server 2000的实例并想要进行适当的升级。或者你可能只是想安装一个新的SQL Server 2005实例。本文将主要关注安装新实例时可能遇到的问题,同时本文也将对两个版本之间交互的选项(比如连接服务器、多服务器管理、日志传递)进行分析。
在SQL 2000主机上安装SQL Server 2005
如果你想在你的SQL Server 2000主机上安装SQL Server 2005,那你的主机上应该至少安装了Service Pack 3a,最好能够安装SP4。
在将SQL Server 2005安装到SQL 2000主机上时,你可能会遇到如下问题:
安装向导无法识别默认的SQL Server 2000实例。由于安装向导可能无法识别默认的SQL Server 2000实例,他可能会要求你安装默认的SQL Server 2005实例。尽管安装完全成功,但新的2005实例实际上并未被安装。为此,你必须要卸载并重新安装2005实例,并在新的安装过程中,输入一个命名的实例。
SQL Server 2000代理不能重新启动。在完全安装后,SQL Server 2000的代理可能无法重新启动,一般来说,只要在代理服务器中重新输入密码就能解决这一问题。
在安装2005后,在数据库服务器运行时,2000的企业管理器不能工作。如果企业管理器在安装2005后不能工作,请参照微软在Co-exist of SQL Server 2000 and SQL 2005中所述的方法。
1.点击开始,点击运行,输入regedit 然后点击OK。
2.在注册表中找到如下子
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServer80ToolsClientSetup |
3.右击客户端安装子键,选择新建,而后点击字符串值。
4.将你所创建的子键命名为SqlPath,然后按下回车。
5.双击SqlPath子键,然后在数值数据对话框处输入C:Program FilesMicrosoft SQL Server80Tools。
6.点击OK,然后关闭注册表编辑器。
7.点击开始,点击运行,输入regsvr32 "C:Program FilesMicrosoft SQL Server80ToolsBinnsqlmmc.dll",然后点击OK.
SQL Server Management Studio没有安装。在安装SQL Server Management Studio之前,你需要首先安装.Net Framework 2.0。
SQL 2000和2005是可以在同一台主机上并存的,但对于两个版本之间的交互,有人曾问过我如下的问题:
问题 | 使用2005工具时的错误信息 | 使用2000工具时的错误信息 | 可能性? | |
1 | 注册新的SQL Server | (成功) | 连接Server 2005的连接无法建立。 原因:[SQL-DMO]你必须使用SQL Server 2005的管理工具来建立到这个服务器的连接。 |
只能从2005到2000 |
2 | 多服务器管理 | 2005 – 主服务器, 2000 – 目标服务器: 主服务器<2005 Server>版本9.00.2047与目标服务器<2000 Server>无法兼容。 |
2000 – 主服务器, 2005 – 目标服务器: 由于下面所示的连接失败,SQL Server注册失败 [SQL-DMO] 你必须使用SQL Server 2005的管理工具来建立到这个服务器的连接。 |
无法并存 |
3 | 复制 | 成功 | 没有错误信息,SQL Server 2005实例并没有出现在可能的定阅服务器列表中。 | 只能从2005到2000 |
4 | 连接服务器 | 成功 | 成功 | 可以并存 |
5 | 数据库还原 | 备份 – 2005, 还原 – 2000: 备份数据库版本611拥有on-disk结构,但服务器支持版本539,不能还原或者升级数据库。RESTORE DATABASE非正常退出。 |
备份 – 2000, 还原 – 2005: 成功 |
只能从2000到2005 |
6 | 日志传递 | 由于版本不正确,‘第二服务器名’并不是一个有效的服务器实例。第二服务器实例必须运行在SQL Server 2005或更高版本上。 | SQL Server 2005实例并没有出现在可能的第二服务器实例列表中。 | 不能并存 |
SQL Server 2000和2005:六个兼容性问题
SQL Server 2000和2005可以在同一台主机上共存。在第一部分:在SQL 2000主机上安装SQL Server 2005 ,我使用表格的方式列出了一些兼容性问题。下面,我将就表中所列的升级后SQL Server 2000和2005间的交互问题进行具体的解释。
注册新的SQL Server
多服务器管理
复制
连接服务器
备份和还原
日志传递
1.注册新的SQL Server
在企业管理器中:
下图显示了试图添加SQL 2005实例时的错误信息:
但是在Management Studio中,连接成功
2. 多服务器管理
我有一个新的实例希望添加到维护计划中,我们是否可以通过多服务器管理选项来实现它呢?下面让我们来看看具体操作:
在企业管理器中:
当我试图将SQL Server 2000作为主服务器,SQL Server 2005作为目标服务器时,得到了如下错误信息:
在Management Studio中:
错误信息如下:
3. 复制
在企业管理器的发布属性中,我尝试推出一个新的定阅服务器:
正如我们所料,SQL Server 2005实例并没有出现,所以它不能用做一个订阅服务器。
在Management Studio中:
添加新的订阅服务器:
成功。
注意:虽然有些命令的语法有所改变。比如:索引中的INCLUE,NOEXPAND提示,PIVOT和UNPIVOT,但令人惊讶的是,数据被成功的复制了。
4. 连接服务器
在企业管理器中:
我输入了SQL 2005的实例名和安全上下文:
连接服务器被配置成功。我也尝试了在连接服务器中运行命令,工作正常,在我使用Management Studio时,也得到了同样的结果。
5. 备份和还原
备份SQL Server 2000的数据库当然可以还原到2005。但是,一旦使用过SQL 2005,即使兼容级别仍然是80,数据库也不能再被还原到SQL 2000. 这是升级中,一个非常令人痛苦的问,因为你无法通过备份和还原“回滚”到旧版本。
在备份一个SQL 2005数据库(兼容级别=80)后,如果你试图将它还原到SQL 2000中,将得到如下错误信息:
6. 日志传递
当试图在企业管理器中添加日志传递的目标数据库时,SQL Server 2005实例名并没有在服务器名列表中出现:
当试图在Management Studio中添加第二SQL 2000实例时,会得到如下信息:
结论
SQL Server 2000和2005版本可以在同一台主机上很好的共存。在安装时可能遇到的一些问题是可以解决的。但如果你试图通过管理工具在两个版本之间进行交互,并不是所有的工作都能顺利完成的。