51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1883|回复: 0
打印 上一主题 下一主题

[原创] TestDirector8.0 SP2移植与项目信息还原全攻略(补充精华版)(申精) .

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-9-16 20:45:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文主要描述TD8恢复后的一些意外和诸多细节方面的设置,希望对广大QA朋友有帮助。

系统移植前后配置:

win2000server sp4

TD8.0SP2

SqlServer 2000



移植后:

win2003Server R2 sp3

TD8.0SP2

Sqlserver 2000



本人使用了以下方式进行移植:http://bbs.51testing.com/thread-96154-1-1.html

在移植过程中,相信如多朋友会遇到以下几种情况:

1、移植后出现ping不通、RPC不可用、dataconst is empty等情况

2、移植后项目在Site Administrator中不能还原或激活

3、移植后用户表有数据但无法正常登陆



基于以上情况逐一分析:

1、移植后出现ping不通、RPC不可用、dataconst is empty等情况

在移植后的SqlServer中,这个是关键点,虽然系统自动生成了TDSQLSERVER用户,但是其用户账户默认是SA登陆,一定要检查该SA用户的密码是否和你安装SQL时候的密码一样,否则肯定不能登陆,所以就不能ping通了。

dataconst  is empty的问题是最头疼的了,这个问题我找了足足三天才找到,其实是因为“TD”这个SQL用户账户冲突引起的(我是从原TD服务器上备份了项目数据,再还原到新服务器上,所以导致TD用户冲突了,不知道用其他方法导入导出或复制数据表是否也有这个问题,我就不再考证了,一条路可以走通就ok啦),这个问题的解决需要用到以下SQL语句(非常管用):

-------------------------引用-----------------------------------------

--替换dbo权限同时去除td权限

二、问题原因

    出现这类问题的主要原因是在数据库中有些表的权限指定给了这个“欲删除的用户”,而dbo用户对这些表没有权限,所以在删除的时候提示“因为选定的用户拥有对象,所以无法除去该用户”;而在添加同名数据库用户后,在指定权限时因为该用户已经有了一定权限,所以会提示该用户已经存在。

    三、解决办法

    大致看了下网上说的几种办法,整理一下吧:

    1、使用不同的数据库用户来管理,这样就可以避免了同名用户的问题;

    该办法绕开了我们讨论的问题,不说了。

    2、在查询分析器中执行脚本,赋予dbo表权限,删除“欲删除的用户”的权限,然后就可以删除该用户了,注意是在该数据库的用户位置删除;


use 你的库名称

go

declare tb cursor local

for

select 'sp_changeobjectowner '

+quotename(

+quotename(user_name(uid))

+'.'+quotename(name),'''')

+',''dbo'''

from sysobjects

where objectproperty(id,N'isusertable')=1

and uid<>user_id('dbo')

declare @s nvarchar(4000)

open tb

fetch tb into @s

while @@fetch_status=0

begin

exec(@s)

fetch tb into @s

end

close tb

deallocate tb

    拷贝以上代码,替换“你的库名称”为你的数据库对应的名称,在查询分析器里执行即可;

    该方法简单方便,可以快速解决问题,推荐使用。

    3、用sp_changeobjectowner将对象的所有关系更改到另一个用户上,然后逐个表去修改,实际是第二种方法的分步骤执行。


----------------------------------------------------------------------------------------------------

这个方法就可以替换td的默认权限给dbo了,其实道理就是dbo是sa需要的权限,因为你在使用TDSQLSERVER时候使用的用户账户是sa,而TD用户权限只是需要普通权限即可。最好在DBServer中增加一个服务器的计算机名的管理账户,同样使用sa用户账户登录,ping通后,这部分就万无一失啦。

RPC是重中之重了,当我遇到这个问题后再网上搜了一大堆文章,结果没有一个是对口的,原因是这个rpc是因为C:\Program Files\Common Files\Mercury Interactive\DomsInfo\的DOMS.MDB文件引起的,原因是我有个步骤做反了,我先把老服务器上的项目给卸载了,再复制过来结果项目数据都没有了,弄得头晕,所以建议大家一定要先复制这个文件,以备后患。



2、移植后项目在Site Administrator中不能还原或激活

这个问题首先要确认如果要选择在Site Administrator中直接通过还原项目来实现激活的话,那么确保DOMS.MDB这个文件中的项目数据都是空,并且其他相关设置(这个就不多说了)要全部改好,那就没有问题了



3、移植后用户表有数据但无法正常登陆

这个问题的解决方法很简单,因为项目还原带来了很多用户账户但是密码都被清空了,所以,接下来就自己想吧,呵呵。



希望这些对大家有所帮助,转载时候请注明出处,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-22 07:29 , Processed in 0.080387 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表