Team Foundation Server 部署过程中碰到的几个问题
由于前几天对TFS做了升级,其中数据库的升级版本为SQL Server 2008,而同事的数据库使用的SQL Server 2008 R2,为了将他的数据库备份到服务器上,将SQLServer2008升级到R2版本。悲剧由此开始。
1.SQL Server 2008升级出错
由于我之前的升级方案中,把TFS和SQL Server 2008同时安装在有域控制器下的Windows Server 2003服务器上,SQL Server 2008使用的是管理员账户,不知道同事是怎么操作的,升级过程中出错,Reporting Service 服务升级失败,无法建立新的团队项目。这个问题必须解决!
在新建团队项目和启动报表服务(打开报表配置程序)时,都出现了如下错误:
“提供程序加载失败”
在zhou66的一篇文章中,也出现了类似的错误,不过他的环境是在SQLServer2005下,其中所提到的方法如下:
1、查找ReportingservicesWMI.dll, 文件位于C:\Program Files\Microsoft SQL
Server\90\Shared。
2、注册ReportingservicesWMI.dll, 失败。
3、查看C:\Program Files\Microsoft SQL Server\90\Shared下是否有文件framedyn.dll 如果没有
就把C:\WINDOWS\system32\wbem \framedyn.dll拷贝过去(或者搜索framedyn.dll后copy过去)
4、然后把 C:\Program Files\Microsoft SQL Server\90\Shared\reportingserviceswmi.dll
用C:\WINDOWS\system32\regsvr32.exe
注册一下(不会用regsvr32.exe注册dll文件的自己到google搜索一下就知道了)
看到有回复说问题解决了,非常高兴,可是到我这边的服务器上却没有找到ReportingservicesWMI.dll这个文件,在其它同事电脑上也没有找到这个文件,只搜索到了ReportingservicesproviderWMI.dll文件,查看其属性看到其内部名称是ReportingservicesWMI.dll。暂且认定就是它了,接着按照上面的步骤去操作,问题依然。
没办法,接着找,在微软的帮助和支持网站上找到了一篇文章,编号为980142,其目的是解决如下问题:
FIX: 您收到"提供程序加载失败"错误消息或 Wmiprvse.exe 进程停止响应时 SQL Server WMI 提供程序用于获取有关 SQL Server 2005、 SQL Server 2008 年 5年或 SQL Server 2008 R2 服务的信息
并在下面的解决方案中看到针对SQL Server 2008 R2的累积更新包(Hot Fix),它指向文章2261464,里面包含累积包的三个下载文件信息,填写自己的邮箱,会自动将下载地址发送到里面。如获至宝呀,感觉解决的问题的时刻到了,下载,装之。前两个安装包都比较小,安装较顺利,在安装第三个的时候,又出错了。
总是提示说之前的安装或升级过程中出现了错误:
A failure was detected for a previous installation, patch, or repair during configuration for features [SQL_DTS_Full,Connectivity_Full,SQL_SSMS_Full,SDK_Full,Tools_Legacy_Full,SQL_BIDS_Full,SQL_SSMS_Adv,SQL_PowerShell_Tools_ANS,SQL_WRITER,]. In order to apply this patch package (KBxxxxxx), you must resolve any issues with the previous operation that failed. View the summary.txt log to determine why the previous operation failed.
再查看summary.txt文件,根据其中的线索,在网上找了不少时间也没有解决问题,问同事,说升级的时候的确出了问题,但没有记录下来。。正是赶项目的时候,头儿见问题不好解决,给提了个好办法:重装系统。虽然我还是有些不甘(毕竟问题没有解决),还是重做了。
2.SharePoint3.0安装过程中碰到的问题
谁知,下面的问题又来了。
装系统的事分配给了一个测试的兄弟伙来帮忙,做系统,装驱动和IIS,都挺麻利的。剩下的就轮到我了,开始装SharePoint3.0,装完之后才发现,没有更改计算机名称,默认的太复杂了,改之。然后装SQL Server 2008(装完之后才发现将的不是R2,不得已,又升级之)。剩下就是装TFS了,装之前顺便看下SharePoint吧,这一看才晓得,SharePoint网站打不开了!找原因,看网上也有不少这样的问题:更改计算机名称后,SharePoint网站无法打开。也有不少相关(针对2007或2010版本的SharePoint)的解决方案,不过都无法解决。因为方案中的第一步就是:
进入SharePoint管理中心
可惜的是我连这个都无法打开。还有其它的如使用 “stsadm -o renameserver ”命令,或使用“stsadm -o updatefarmcredentials ”命令,都无法解决。不过在一篇文章中看到了注册表相关的解决办法,随之将注册表中含有旧的机器名称的地方都改为了新的机器名称,再次重新配置SharePoint的时候,还是出错,先是在第5步时候出错
无法连接到 SQL Server。找不到 机器名称\Microsoft##SSEE。
搞之,弄之,后来干脆在第2步的时候就出错了
未能连接到配置数据库。
已引发类型为 System.Security.Principal.IdentityNotMappedException 的异常。其他异常信息: 未能转换部分或所有标识引用。
System.Security.Principal.IdentityNotMappedException: 未能转换部分或所有标识引用。
猜测到以上的信息,估计还是计算机名称的问题。算了,卸载SharePoint吧,重来。可是,问题依然存在,配置的时候还是卡在第2步,删除IIS中相关的网站,再重新安装SharePoint,还是不行;找到SharePoint3.0安装时创建的SQL Server2005 embedded edtion数据库目录,将其中的WSS开头和带admin的数据库删除之(在错误分析的时候,看到了关于WSS_Search_机器名称的数据库),再安装SharePoint,还是不行;最后终于找到一篇彻底删除SharePoint的文章,提供了如下的方法:
1.运行regedit.exe找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi ndows\CurrentVersion\Uninstall分枝
2.查找每个{GUID}目录,当然你也可以使用搜索功能,找到“Microsoft SQL 2005 embedded Edition…”
3.将里面的卸载命令考贝出来(例如: MsiExec.exe /X{0F51A262-1ADF-4914-B448-78AC58C4178A} )
4.运行cmd.exe,将卸载命令粘贴在里面,然后在后面加上" CALLERID=OCSETUP.EXE"
这样,不仅删除了已经安装的数据库,也把此服务删除了。重新安装SharePoint,成功。
接下来就是安装配置TFS了,一切还顺利。
3.安装邮件服务器,设置邮件提醒功能
安装TFS之后,顺便配置了TFS的邮件提醒功能,这样有了工作项目分配或变动的时候,以及代码签入或项目生成的时候就会有邮件提示,省得吼了。我的方案是在TFS服务器机器上配置邮件服务器,并在此邮件服务器上给团队的每个人分配一个账号(与TFS账号一致),这样大家通过Outlook或其它邮件客户端就可以随时接收团队其他成员(与自己相关)的操作。只是在以更改工作项做测试的时候,发现邮件提醒的速度有些慢,大概在更改发生之后的2-5钟内才会收到邮件。
总结:
从团队开始使用TFS以来,大概已经有两年半的时间了,这期间一直都是我在维护,对TFS也有一定的了解和使用经验,慢慢也体会到配置管理员的重要性(以前只在书上看到)。在此给大家提一点拙见:
和项目一样,一个团队,也需要一个固定的配置管理员。
如果这次阻止其他同事去操作TFS服务器,或者我自己去升级SQL Server 2008数据库(因为之前是安装在域控制器机器中的,有些账户没有数据库相关操作的权限),或许可以省下这几天的时间用在项目实施上,而不用去解决这些可能永远不会碰到的问题。
PS:《移山之道》是一本不错的书,即时不使用TFS,其中的不少章节也很参考和学习价值。
---------------------------------------------