转移TD Porject的问题及TD对应的数据库表字段(转载)
上一篇 / 下一篇 2007-06-27 09:31:10 / 个人分类:TD
gX8LRk1O0原文51Testing软件测试网5l8o+ycl%s2t)Cv^
51Testing软件测试网%w(NK:J }Py年前加班转移各项目组的TD库到一台机器上做统一管理之用,折腾了好几天。因为有些项目组是从TD7.0就开始建的project,之后升级为TD8.0,这次又要转到新的机器上所以出现了不少问题。下面简单说一下我遇到的情况和解决办法。(下文介绍的方法均以文字为准,图为辅助说明)51Testing软件测试网 Jm&X(Mo6U
51Testing软件测试网J"xK~S0Qm+w
;P2l"?h ~b0首先是正常的操作:
wso(z/m4U:c0一般我们从不同机器上迁移TD库project的步骤如下(原主机为hostA,目的主机为IT-DIONYSUS,hostA中已经有TD和project,我们在IT-DIONYSUS上安装一个TD)
2W6|YepYkH2d$K01. 进入IT-DIONYSUS TD库的Site Administrator,在projects页面中选择restore project,浏览选中hostA共享的TD库DBID.ini文件
这时点击恢复会报告DB Server没有找到,这是因为IT-DIONYSUS的TD库中没有hostA中的DB Server,我们需要进入DB Server页面把hostA的数据库添加进来,设置验证方式为SQL Auth认证,最后ping一下确认可以正常连通51Testing软件测试网Z%ToI.} UOt_e
/U'RH[,zz0回到project页面恢复,成功后可以看到hostA中TD库的project已经出现在当前TD中了(但此时project的DB server还是指向hostA上的数据库)。51Testing软件测试网K,G7mt bNk,aX
2. 选择Create Project新建一个项目,数据库类型选择MS-SQL
(C0EZ\#]/?l"s0
2WVM8F!YD/zC0下一步选择数据库的时候Server Name选择为IT-DIONYSUS机器上的数据库(即,这个project的数据库要建立在IT-DIONYSUS上)51Testing软件测试网\"hM!f rp"{-t o
hDr$I
q iyC
b0
cj^f;}&c+S;|S&i0a0下一步选择Copy51Testing软件测试网/_xK2XLg
GB9NbJ,q!]0 51Testing软件测试网[VO.RJ;wrF[
51Testing软件测试网A*w}(}!oL51Testing软件测试网gK N+~#{fjjW-g
注意选择对要复制的project
51Testing软件测试网5M7`aT#P
一切顺利的话这个project就从hostA上完全复制到IT-DIONYSUS上了,并且数据库也指向本机了。51Testing软件测试网+{4f0[/n,b3C
如果上述操作过程中没有报错的话则迁移过来的project是最完整且正常的,所有用户自己添加的字段等信息完全保留。
51Testing软件测试网B;k"\
JW
~&}%UW
L'q
实际过程中遇到的问题和解决方法:51Testing软件测试网0S'k'}{-A[nz5Q
1. 首先是部分project的DB Server与TD Server不一致。当我们安装TD的时候有一步让你选择输入MS SQL Alias,很多人就是用的默认名称“TDSQLSERVER”
/e7xvy[$e/Emt0 51Testing软件测试网l#kS\o}
当从IT-DIONYSUS上恢复远程project时必须要在DB Server中新建一个名为TDSQLSERVER的服务器,但这个DB SERVER是无法ping通的(后面会讲到如何让其可以使用TDSQLSERVER),因为网络中没有一个叫TDSQLSERVER的SQL服务器,所以从恢复这一步就无法走通。51Testing软件测试网7[F&j8G8m2i5],z
方法1:在原主机(还是以hostA为例)TD库的DB Server中新建一个服务器,名字就是本机SQL服务器的名字hostA,Create Project,选择数据库为hostA,Copy那个DB与TD不一致的project。这样再从IT-DIONYSUS上恢复我们新建的这个project即可,这个project的DB Server是可以在网络中找到且连通的。51Testing软件测试网Uv7c T
Sz
方法2:打开IT-DIONYSUS机器上的SQL Server 客户端网络实用工具,点击“别名”,设置TDSQLSERVER的真实服务器名hostA
1b)W:AbnRq^0再在TD的DB Server中新建一个叫TDSQLSERVER的服务器,输入hostA上的用户和密码,ping一下是可以通的
"f2c6BV&fG K+z#v5I0/ds
I'PQ3@3n4n9F051Testing软件测试网k9?Y^)xm,c
f'^(R#E#E+]g$p{rN\0 这样我们就可以从IT-DIONYSUS这一端设置,正常复制hostA上的project了。51Testing软件测试网#c^?^b Kh:Q
vB
2. 本身原数据库就已经存在问题,hostA上已经不能正确新建或激活project,那我们只有从SQL Server强行复制表了,注意这样的复制是有问题的,复制过来的project将丢失部分信息。
v:`!_6bP L)t0方法:以前有网友已经总结过的,这里我再说一下吧。打开IT-DIONYSUS上的Site Administrator,直接Create project,不复制。打开IT-DIONYSUS上的SQL企业管理器,建立(local)和hostA的注册连接。在(local)的数据库中找到新建完成的数据库-名称为:Domain名+project名。右键菜单里选择“所有任务”->“导入数据”
ic8I|0Fx2C051Testing软件测试网1K|-p {N6m@$aKR6_