一天六杯水

Mango的.Net家园
随笔 - 15, 评论 - 35, 引用 - 1

导航

工具

关于





王兴明 Mango
微软最有价值专家(MVP)
微软金牌认证讲师(MCT)

此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设。所有此处的原创文章转载必须知会作者本人。如有疑问,请发邮件至: wmango#hotmail.com

标签

每月存档

广告



访客

 

在TFS双机热备的方案中,我们会用ActivateAt来做主应用服务器与备用服务器之间切换。那ActivateAt在这个过程中到底做了什么呢?

在TFS1.0版本里,一个应用服务器只能连一个数据库服务器,一个数据库服务器也只能连一个应用服务器。

在应用服务器的上的web.config文件有连接到数据服务器的连接字串,从而保证了应用服务器只会连到指定的数据库。如果要修改这个连接,可以使用RenameDT来完成。

那如果保证一个数据库只有一个应用服务器来连呢?一般来说数据库是只检查访问者的身份与权限,少有检查是哪个应用和机器发来的请求(应用程序角色除外)。TFS数据库连接也只检查来访者是否有权限访问数据,但在其数据中记录了合法访问的应用层的信息,这些信息分散在不同的表中,ActivateAt就是用来修改、同步这些信息的。

简单地说,ActivateAt做了四件事:

  1. 修改了TFSIntegration数据库中tbl_subcription表中的address列,将其改为新的应用服务器名称。

  2. 修改了TFSIntegration数据库中tbl_service_interface表,将以下属性绑定到新的应用服务器:

    a) WssAdminService

    b) BaseServerUrl

    c) BaseSiteUrl

    d) BaseSiteUnc

    e) ReportsService

    f) BaseReportUrl

    g) DataSourceServer

  3. 修改了TFSIntegration数据库中tbl_registration_extended_attributes表,将以下属性绑定到新的应用服务器:

    a) ATMachineName

    b) ATNetBIOSName

    在双服务器热待机方案中,ATMachineName总是指向A记录,但ATNetBIOSName却是指向正在使用应用服务器的机器名。所以,虽然备机也一直开着,服务也正常运行,但我们用VS2005去连接是总是报错。

  4. 重启IIS。

因为有ActivateAT这个工具,我们可以很方便地从一个应用服务器切到另一台备用的应用服务器,从而实现了TFS的高可用性。

相关文章

打印 | 张贴于 2006-11-21 21:14:00 | Tag:暂无标签

留言反馈

暂时没有留言纪录
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System