我将SQL Server2008重装后,准备将之前导出的已注册服务器配置进行导入。SQL Server2008提供了一个导入导出已注册的服务器的功能,如下图。可以用这个功能备份和迁移“已注册的服务器”设置。
选择“导出”,进入“导出已注册的服务器”窗口,如下图。
在导出选项中有一个复选框“不要在导出文件中包含用户名和密码”,默认这个复选框是选中的。
为了确保已有的配置不丢失,我做了2个导出文件,一个选中这个复选框,另外一个不选中,即保存了用户名和密码。
重新安装了SQL Server2008 后,我要导入原先“已注册的服务器”,为了图省事,我用保留了用户名和密码的文件进行导入。结果SQL Server提示我导入失败,我再次重试导入,还是提示导入失败,尤其恐怖的是,重新打开SSMS,总是提示我有一个已注册的服务器错误,要我确认“继续”,然后在打开的SSMS中已注册的服务器视图列表中没有任何条目,即使想手工增加条目也不能!
后来找到解决办法:拷贝别的正常的SSMS配置文件("C:/Documents and Settings/user account/Application Data/Microsoft/Microsoft SQL Server/100/Tools/Shell/RegSrvr.xml")覆盖出错的文件,出错的问题即解决。
但是原来已注册的服务器配置还是没有,还是需要导入。我尝试将那个用默认选项导出的文件导入(即不包含用户名和密码),结果导入成功。这个虽然成功了,但是需要在每个已注册的服务器“属性”中重新编辑用户名和密码。虽然麻烦了点,但是比全部重新注册要强不少。
经历此次问题和解决过程,总结如下:
1,SQL Server提供的“已注册的服务器”导入导出设置不可靠,导出文件不能包含用户名和密码。虽然这个功能不太可靠,但是还是有一定用途的,比如在不同版本之间迁移,或者给别的用户使用。
2,定期备份(复制)配置文件RegSrvr.xml("C:/Documents and Settings/user account/Application Data/Microsoft/Microsoft SQL Server/100/Tools/Shell/RegSrvr.xml")。当已注册的服务器列表出现问题时,或者重新安装了SSMS时,用这个文件覆盖原文件。