保护SQL Server数据库十招

核心提示:设置Proxy Server和SQL Server实现互联网上的数据库安全

这两天折腾Team Foundation
Server,中间遇到几个问题。具体的安装过程可以参考官方的安装手册,我采用的是单服务器-高级配置的方法安装的。

1.安装最新的服务包为了提高服务器安全性,最有效的一个方法就是升级到 SQL
Server 2000 Service Pack 3a (SP3a)。
另外,您还应该安装所有已发布的安全更新。2.使用 Microsoft
基线安全性分析器来评估服务器的安全性MBSA 是一个扫描多种 Microsoft
产品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000
Desktop Engine (MSDE
2000)。它可以在本地运行,也可以通过网络运行。该工具针对下面问题对 SQL
Server 安装进行检测:1) 过多的sysadmin固定服务器角色成员。 2)
授予sysadmin以外的其他角色创建 CmdExec 作业的权利。 3)
空的或简单的密码。 4) 脆弱的身份验证模式。 5) 授予管理员组过多的权利。
6) SQL Server数据目录中不正确的访问控制表(ACL)。 7)
安装文件中使用纯文本的sa密码。 8) 授予guest帐户过多的权利。 9)
在同时是域控制器的系统中运行SQL Server。 10)
所有人组的不正确配置,提供对特定注册表键的访问。 11) SQL Server
服务帐户的不正确配置。 12) 没有安装必要的服务包和安全更新。Microsoft
提供 MBSA
的免费下载。3.使用Windows身份验证模式在任何可能的时候,您都应该对指向SQL
Server的连接要求Windows身份验证模式。它通过限制对Microsoft
Windows用户和域用户帐户的连接,保护SQL
Server免受大部分Internet的工具的侵害,而且,您的服务器也将从Windows安全增强机制中获益,例如更强的身份验证协议以及强制的密码复杂性和过期时间。另外,凭证委派也只能在Windows身份验证模式中使用。在客户端,Windows身份验证模式不再需要存储密码。存储密码是使用标准SQL
Server登陆的应用程序的主要漏洞之一。要在SQL Server的Enterprise
Manager安装Windows身份验证模式,请按下列步骤操作:1)展开服务器组。2)右键点击服务器,然后点击属性。3)在安全性选项卡的身份验证中,点击仅限Windows。4.隔离您的服务器,并定期备份物理和逻辑上的隔离组成了SQL
Server安全性的基础。驻留数据库的机器应该处于一个从物理形式上受到保护的地方,最好是一个上锁的机房,配备有洪水检测以及火灾检测/消防系统。数据库应该安装在企业内部网的安全区域中,不要直接连接到Internet。定期备份所有数据,并将副本保存在安全的站点外地点。5.分配一个强健的sa密码sa帐户应该总拥有一个强健的密码,即使在配置为要求
Windows
身份验证的服务器上也该如此。这将保证在以后服务器被重新配置为混合模式身份验证时,不会出现空白或脆弱的sa。要分配sa密码,请按下列步骤操作:1)
展开服务器组,然后展开服务器。 2) 展开安全性,然后点击登录。 3)
在细节窗格中,右键点击SA,然后点击属性。 4) 在密码方框中,输入新的密码。
6.限制 SQL Server服务的权限SQL Server 2000 和 SQL Server Agent 是作为
Windows 服务运行的。每个服务必须与一个 Windows
帐户相关联,并从这个帐户中衍生出安全性上下文。SQL Server允许sa
登录的用户来访问操作系统特性。这些操作系统调用是由拥有服务器进程的帐户的安全性上下文来创建的。如果服务器被攻破了,那么这些操作系统调用可能被利用来向其他资源进行攻击,只要所拥有的过程可以对其进行访问。因此,为
SQL Server 服务仅授予必要的权限是十分重要的。我们推荐您采用下列设置:1)
SQL Server
Engine/MSSQLServer如果拥有指定实例,那么它们应该被命名为MSSQL$InstanceName。作为具有一般用户权限的Windows
域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。2) SQL
Server Agent Service/SQLServerAgent
如果您的环境中不需要,请禁用该服务;否则请作为具有一般用户权限的Windows域用户帐户运行。不要作为本地系统、本地管理员或域管理员帐户来运行。
重点: 如果下列条件之一成立,那么 SQL Server Agent 将需要本地
Windows管理员权限: SQL Server Agent 使用标准的 SQL Server
身份验证连接到SQL Server。 SQL Server Agent
使用多服务器管理主服务器帐户,而该帐户使用标准 SQL Server
身份验证进行连接。 SQL Server Agent
运行非sysadmin固定服务器角色成员所拥有的 Microsoft ActiveX?脚本或
CmdExec 作业。 如果您需要更改与 SQL Server服务相关联的帐户,请使用 SQL
Server Enterprise Manager。Enterprise Manager 将为 SQL Server
所使用的文件和注册表键设置合适的权限。不要使用 Microsoft
管理控制台的“服务”来更改这些帐户,因为这样需要手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft
Windows用户权限。帐户信息的更改将在下一次服务启动时生效。如果您需要更改与
SQL Server 以及 SQL Server Agent 相关联的帐户,那么您必须使用 Enterprise
Manager 分别对两个服务进行更改。7.在防火墙上禁用 SQL Server 端口SQL
Server 的默认安装将监视 TCP 端口 1433 以及UDP端口
1434。配置您的防火墙来过滤掉到达这些端口的数据包。而且,还应该在防火墙上阻止与指定实例相关联的其他端口。8.使用最安全的文件系统NTFS
是最适合安装 SQL Server 的文件系统。它比 FAT
文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录 ACL
以及文件加密。在安装过程中,如果侦测到 NTFS,SQL Server
将在注册表键和文件上设置合适的 ACL。不应该去更改这些权限。 通过
EFS,数据库文件将在运行 SQL Server
的帐户身份下进行加密。只有这个帐户才能解密这些文件。如果您需要更改运行
SQL Server
的帐户,那么您必须首先在旧帐户下解密这些文件,然后在新帐户下重新进行加密。9.删除或保护旧的安装文件SQL
Server
安装文件可能包含由纯文本或简单加密的凭证和其他在安装过程中记录的敏感配置信息。这些日志文件的保存位置取决于所安装的SQL
Server版本。在 SQL Server 2000
中,下列文件可能受到影响:默认安装时:Program FilesMicrosoft SQL
ServerMSSQLInstall文件夹中,以及指定实例的:Program
FilesMicrosoft SQL Server MSSQL$Install文件夹中的sqlstp.log,
sqlsp.log和setup.iss如果当前的系统是从 SQL Server 7.0
安装升级而来的,那么还应该检查下列文件:%Windir%
文件夹中的setup.iss以及Windows
Temp文件夹中的sqlsp.log。Microsoft发布了一个免费的实用工具
Killpwd,它将从您的系统中找到并删除这些密码。10.审核指向 SQL Server
的连接SQL Server
可以记录事件信息,用于系统管理员的审查。至少您应该记录失败的 SQL Server
连接尝试,并定期地查看这个日志。在可能的情况下,不要将这些日志和数据文件保存在同一个硬盘上。要在
SQL Server 的 Enterprise Manager 中审核失败连接,请按下列步骤操作:1)
展开服务器组。 2) 右键点击服务器,然后点击属性。 3)
在安全性选项卡的审核等级中,点击失败。 4)
要使这个设置生效,您必须停止并重新启动服务器。(end)

以下检查表总结了本白皮书中讨论的各种最佳做法。

设置Proxy Server和SQL Server实现互联网上的数据库安全:
◆首先,我们需要了解一下SQL Server在WinSock上定义协议的步骤:

遇到几个问题:首先安装IIS的时候,注意不能安装FrontPage 2002 Server
Extensions,否则配置时出错:会提示,安装了FrontPage 2002 Server
Extensions,就不能安装Team Foundation Server。

管理员检查表

  1. 在”启动”菜单上,指向”程序/Microsoft Proxy Server”,然后点击”Microsoft
    Management Console”。

  2. 展开”Internet Information Service”,再展开运行Proxy Server的服务器。

  3. 右击WinSock Proxy service, 再点击属性。

  4. 在WinSock Proxy Service Properties For computername 对话框内,
    点击Protocols, 再点击Add。

  5. 在Protocol name 文本框内, 输入复制分发服务器所在的计算机名称。

  6. 在 Port文本框内, 输入1433 。

  7. 在Type下面, 选择TCP, 在Direction下面, 选择Inbound.

 

在安装之前设置环境   
物理安全 确保服务器的物理安全 

然后设置出版服务器/分发服务器和Proxy
Server一起工作,在代理服务器上安装了Proxy
Server以后,我们必须把出版服务器/分发服务器设置成Proxy
Server客户。这就要求将SQL Server绑定到WinSock端口以便与Internet通讯。

第二个问题是验证时始终报告ReportServer配置为需要安全连接…..(错误信息记不太清楚了,:)),解决办法:

防火墙 在服务器和 Internet 之间放置防火墙。 
总是在外围防火墙上阻止 TCP 端口 1433 和 UDP 端口 1434。如果命名实例在其他端口上侦听,则还要阻止这些端口。 
在多层环境中,使用多个防火墙创建屏蔽子网 

绑定到WinSock端口以便与Internet通讯,要设置出版服务器/分发服务器和Proxy
Server一起工作,必须在运行SQL
Server的服务器上存在文件Mssql7BinnWspcfg.ini。假如这个文件并不存在,我们就必须用Notepad来创建一个。这个文件应当包括下面的内容:

对于单台服务器,打 开%ProgramFiles%/Microsoft SQL
Server/MSSQL.3/Reporting
Services/ReportServer/RsReportServer.config。将“SecureConnectionLevel”的值由
“2”修改为“0”。在Team Foundation Server
安装错误对话框中,单击重试,或者重新安装。

服务隔离 隔离服务,降低受到威胁的服务被利用来危害其他服务的风险。 
绝对不要在域控制器上安装 SQL Server。 
以单独的 Windows 帐户身份运行单独的 SQL Server 服务。 
在多层环境中,在单独的计算机上运行 Web 逻辑和业务逻辑 

[sqlservr] ServerBindTcpPorts=1433 Persistent=1 KillOldSession=1

对于双服务器,单击 取消。打开 IIS
管理器并将默认站点配置成为不需要安全通道连接(SSL)即可,然后重新安装应用程序层。

服务帐户 创建 Windows 帐户,尽可能只让其具有运行 SQL Server 服务所需的最小特权。 

SQL Server侦听Proxy Server服务端口1433上的连接请求。当授予SQL
Server账号无限制访问权限时,任何用户、服务或匿名订阅者都能够请求SQL
Server验证。可以在Proxy
Server上设置端口1433的协议,只允许指定的IP地址建立连接。

 

文件系统 使用 NTFS。 
对关键的数据文件使用 RAID 

◆将SQL Server设置成Proxy客户

下面这个帖子对我帮助很大:

安装   
保护SQL Server数据库十招。最新版本和 Service Pack 总是安装最新的 Service Pack 和安全修补程序。 

在我们安装了Proxy
Server后,就已经为文件夹C:MspClients创建了共享名mspclnt。运行这个文件夹中的Proxy
客户端设置程序,将SQL Server设置成Proxy客户。在安装完成后,SQL
Server就是Proxy Server的内部客户了。

 

服务帐户 使用尽可能具有最低特权的帐户运行 SQL Server 服务。 
用企业管理器将服务与 Windows 帐户相关联。 

◆运行Proxy 客户端设置程序的具体步骤:

以下是这个帖子的内容,目前我没有遇到这么多问题,记录在此,方便以后使用,再次感觉此帖作者:

身份验证模式 要求使用 Windows 身份验证与 SQL Server 连接。 

  1. 在运行SQL Server的服务器上,点击开始,然后点击运行。

  2. 在打开下面,输入/servernamemspclnt,然后运行Proxy
    Server客户端设置程序。

  3. 安装结束后重启动计算机使设置生效。

 

强密码 即使在使用 Windows 身份验证时,也总是为 sa 帐户指派强密码。 
对所有 SQL Server 帐户都总是使用强密码。 

 Team Foundation
Server的部署模式分为两种,一是单服务器部署,一是双服务器部署,本文主要就单服务器模式的安装进行说明而不涉及双服务器部署的细节和其他领域。

安装之后的配置选项和设置  
删除或保护旧安装文件 在安装之后删除或存档下列文件:sqlstp.log、sqlsp.log 和 setup.iss。对于默认安装,这些文件位于 <系统驱动器>:Program FilesMicrosoft SQL ServerMSSQLInstall 文件夹中;对于命名实例,这些文件位于 <系统驱动器>:Program FilesMicrosoft SQL Server MSSQL$<实例名称>Install 文件夹中。 

(一)安装前的准备 1)
硬件要求:服务器的内存最好是在1GB或者以上(手册要求的最低)。

如果当前系统是从 SQL Server 7.0 升级的,请删除下列文件:%Windir% 文件夹中的 setup.iss;Windows Temp 文件夹中的 sqlsp.log。 

2) 操作系统要求:必须是Windows Server 2003 SP1 Enterprise
Edition或者Windows Server 2003 SP1 Standard
Edition,这是没有任何商量的余地的。

为命名实例选择静态端口 为 SQL Server 的命名实例分配静态端口。 

3)
为安装VSTF创建其必须的用户。这些用户分别为安装用户,服务用户和报表用户,您可以使用微软推荐的名称,如
TFSSetup,TFSService,TFSReports,TFSPROXY。一般而言TFSSetup必须添加到Administrators组
中,至于TFSService,TFSReports不应添加到Administrators组,TFSPROXY必须是远程计算机上
的"Administrators组"。

设置登录审核级别 将登录审核级别设置为“失败”或“全部”。 

4) 必须安装.Net Framework 2.0。

启用安全审核 对 Sysadmin 操作、固定角色成员身份更改、所有与登录相关的活动以及密码更改启用安全审核。 
在选择适当的审核选项之后,应该编写审核脚本,将它包装在存储过程中,并将该存储过程标记为 AutoStart。 

5) 必须安装IIS 6.0。

即使在 Windows 身份验证模式下也要保护 sa 帐户的安全 即使在配置为要求进行 Windows 身份验证的服务器上,也要为 sa 帐户指派强密码。 

6) 必须安装SQL SERVER 2005及SQL SERVER
2005的SP1修补程序,值得注意的是VSTF不支持在SQL SERVER 2005 Express
Edition。VSTF要求安装Reporting Service,Analysis
Service,至于Integration Service,则不是必须的。在安装前注意将SQL Server
2005相关的服务设置为自动启动,而且都必须是在已启动状态,否则会导致后续的安装失败,让您不得不又从头再来。

删除示例数据库 从生产服务器中删除示例数据库。 

7) 总结一下安装顺序,而且必须遵照的顺序是:windows2003 ->
windows2003sp1 -> IIS6.0 -> .Net   2.0框架   ->SQL Server 2005
-> SQL SERVER 2005 SP1->Windows SharePoint Services。

安全操作  
安全模型 学会使用 SQL Server 安全模型。 

(二)安装过程

备份策略 定期备份所有数据并将副本存放在安全的非现场位置。 
测试灾难恢复系统。 

         一  IIS6.0安装

减少功能、减小受攻击范围 通过只运行环境所必需的服务和功能,减小系统受到攻击的范围。 

      在windows组件中添加Internet信息服务(iis),选择"应用程序服务器(IIS,ASP.NET)",进行安装.注意:不要选择"FrontPage服务器扩展",此服务器与Windows SharePoint
Services不兼容.

减少管理员 限制少数几个受信任用户拥有 sysadmin 固定服务器角色的成员身份。 

  二 .Net   2.0框架安装

强密码 确保对于所有的 SQL Server 帐户使用复杂密码。 

  三 SQL Server 2005 安装    

跨数据库所有权链接 如果系统不使用跨数据库所有权链接,请禁用它。 

 

Xp_cmdshell  在默认情况下,只有 sysadmin 角色的成员能够执行 xp_cmdshell。不应更改此默认设置。 
不要将执行 xp_cmdshell 的权限授予 sysadmin 角色成员以外的用户。 

    注意: 

加密 安装证书以启用 SSL 连接。 
证书应该使用服务器的完全限定的 DNS 名称。 
在 SQL Server 服务帐户下使用 EFS 加密数据库文件。 
如果应用程序要求加密数据,请考虑使用诸如 Protegrity 和 Application Security Inc. 之类的供应商的产品。 

     在安装 Microsoft SQL Server 2005 之前必须安装 Internet
信息服务 (IIS) 6.0。

角色和组 将用户汇集到 SQL Server 角色或 Windows 组中以简化权限管理。 

   以交互方式安装 Microsoft SQL Server 2005

权限 绝对不要向 public 数据库角色授予权限。 

   (1)使用 Team Foundation Server 安装帐户(例如
Domain/TFSSETUP)登录到 Windows。

分布式查询 在支持分布式查询的环境中设置 SQL Server 时,使用链接服务器(而不要使用远程服务器)。 
仅将链接服务器的访问权限授予那些需要它的登录。 
对于除 sysadmin 固定服务器角色的成员以外的所有用户,禁止对除 SQL OLE DB 以外的所有提供程序进行特殊 (ad hoc) 数据访问。 
只允许对受信任的提供程序进行特殊数据访问。 

   (2)插入 Microsoft SQL Server 2005 的 CD。在“SQL Server 2005
启动”页的“安装”下,单击        “服务器组件、工具、联机丛书和示例”。
此时将启动 Microsoft SQL Server 2005 安装向导。

来宾帐户 不要启用来宾帐户。 

   (3)在“最终用户许可协议”页上查看许可协议。如果您接受其中的条款和条件,请选择“我接受许        可条款和条件”,然后单击“下一步”。

服务帐户 如果需要更改与 SQL Server 服务相关联的帐户,请使用 SQL Server 企业管理器。 
如果更改多个服务,则必须使用企业管理器将所做的更改分别应用于每个服务。 

   (4)在“安装必备组件”页上单击“安装”。在成功安装了所需的组件后,单击“下一步”。

建议的定期管理过程   
Microsoft 基准安全分析器 (MBSA) 将 MBSA 添加到每周维护计划中,并按照计划中的任何安全建议操作。 

   (5)此时将启动“Microsoft SQL Server 安装向导”。

扫描登录 定期扫描帐户,查看是否有使用空密码的帐户,并删除使用空密码的帐户或为它们指派强密码。 
删除不再使用的帐户。 

   (6)单击“下一步”以启动“系统配置检查”。

枚举固定角色成员成份 定期扫描固定服务器和数据库角色,确保只将成员身份授予受信任用户。 

   (7)在“系统配置检查”页上,检查所有要求操作(例如要求的系统重新启动)的状态,并遵循本页        上的指导进行操作,直到所有操作都获得“成功”状态为止。在所有操作都获得“成功”状态         后,单击“下一步”开始安装。

启动过程 验证已被标记为 AutoStart 的存储过程是否安全。 

   (8)在“注册信息”页上填写完注册信息,然后单击“下一步”。

登录到用户的映射 确保数据库用户与服务器级登录之间的映射正确无误。 
定期运行带有 report 选项的 sp_change_users_login,确保映射按预期方式工作。 

   (9)在“要安装的组件”页上,选择下面的组件,然后单击“高级”。

直接更新目录 不允许直接更新目录。 

        1)SQL Server Database Services

跨数据库所有权链接 使用 sp_dboption 枚举和验证启用了跨数据库所有权链接的数据库。 

        2)Analysis Services

修补实例的最佳做法   
实例检测和枚举 保留您所负责的 SQL Server 的所有版本和语言清单。 
在清单中包括 MSDE 实例。 
使用 SQL Scan 和 SQL Check(可从 Microsoft 网站获取),扫描域中的 SQL Server 实例。

        3)Reporting Services

公告 订阅 Microsoft 安全公告。 

        4)Integration Services

修补应用程序 维护与生产系统的配置相匹配并且可用于测试新修补程序的测试系统。 
在将修补程序应用于生产系统之前,认真测试修补程序。 
考虑修补不需要太多测试的开发系统。

        5)工作站组件、联机丛书和开发工具

开发人员检查表

        注意:Team Foundation Server 不需要 Notification
Services。

除上面的所有项目外,开发人员应将下列内容视为最佳做法。

        在“功能选择”页上,展开下面的节点并指定以下选项。

常规  
有效地使用所有权链接 在单个数据库中使用所有权链接来简化权限管理。 
尽可能避免使用跨数据库所有权链接。 
如果必须使用跨数据库所有权链接,请确保这两个数据库总是部署为单个管理单元。 

        除以下所述情形外,不应更改任何其他功能区中的默认选择。

使用角色来简化权限管理和所有权 向角色指派权限,而不要直接向用户指派权限。 
如果希望在删除拥有对象的用户时不必更改应用程序,则可以让角色拥有对象,而不是让用户直接拥有对象。 

       (1)在“Database
Services”之下单击“复制”的图标,并选择“整个功能将不可用”。

打开加密功能(SSL 或 IPSEC) 对服务器启用加密连接,并考虑只允许建立加密连接。 
如果允许使用 SQL Server 身份验证,则强烈建议您使用 IPSec 加密网络层或者使用 SSL 加密会话。 

       (2)在“客户端组件”下,唯一需要安装的功能是“管理工具”。对于“客户端组件”下的所有          其他项,可以选择单击图标并选择“整个功能将不可用”。

不将 SQL Server 错误传播回到用户 您的应用程序不应该将 SQL Server 错误返回给最终用户,而是将它们记录到日志中或者将它们传输给系统管理员。 

       (3)在“文档、示例和示例数据库”下,可以选择单击“联机丛书”的图标并选择“整个功能将          不可用”。单击“下一步”。

防止受到 SQL 插入攻击 通过先验证所有的用户输入,然后将其传输到服务器,防止受到 SQL 插入攻击。 
只允许具有最小特权的帐户将用户输入的内容发送到服务器,从而限制可能受损的范围。 
使用必需的最小特权运行 SQL Server 本身。 

    (10) 在“实例名”页上,选择“默认实例”,然后单击“下一步”。注意:如果指定已命名的实         例,Team
Foundation Server 安装将失败。

多层选项  
同一个域/受信任域(完整的 Windows 身份验证) 如果应用程序服务器和数据库服务器位于同一个域中或者位于受信任域中,则应使用 Windows 身份验证,并配置”完全提供”功能(所有客户端上下文都与 SQL Server 建立通道连接)。这样,可以审核访问 SQL Server 的所有用户,允许执行 Windows 安全策略,并且无需将凭据存储在中间层。在该方案中,客户端连接到应用程序服务器,应用程序服务器从而模拟客户端并连接到 SQL Server。 

    (11)在“服务帐户”页上,选择“使用内置系统帐户”并从列表中选择“本地系统”。
在“安装结束        时启动服务”中,选择所有服务:“SQL
Server”、“SQL Server Agent”、“Analysis Services”、“Reporting
Services”和“SQL Browser”,然后单击“下一步”。

应用程序服务器上的每个用户都必须在数据库服务器上有一个有效的 Windows 登录,且必须启用委派功能。

    (12)在“身份验证模式”页上,选择“Windows
身份验证模式”,然后单击“下一步”。

该方案中进行交互的所有系统(包括域控制器)都必须运行 Windows 2000 或更高版本。

    (13)在“排序规则设置”页上,选择适合您的语言的排序规则,然后单击“下一步”。

用来运行应用程序的帐户必须能够委派其他帐户(即,必须针对此帐户打开 Active Directory 用户帐户选项”帐户可委派其他帐户”)。

        注意:如果更改了“排序规则指示符和排序顺序”,则必须选择“区分重音”。
   

客户端帐户必须能够被委派(确保取消选中 Active Directory 用户帐户选项”敏感帐户,不能被委派”)。

        默认选择基于 Windows Server 2003 中的非 Unicode
语言的设置。对于多数语言,默认选择都        是 Windows
排序规则,但对于美国英语,SQL Server 2005 安装时使用 SQL Server
排序规则       以向后兼容。如果要更改默认的排序规则以支持其他美国英语字符,请考虑“Latin1_General”。

应用程序服务必须有一个有效的服务主体名称 (SPN)。 
注意 如果安全计划要求最小化用户对数据库服务器的访问权限或者企业策略禁止委派,建议不要在跨数据库或 Internet 级别的安装中使用”完全提供”功能。

     对于其他语言,请考虑“_90”Windows
排序规则(当可用时),否则使用其他 Windows 排序规则。

混合方案(部分 Windows 身份验证) 如果在面向 Internet 的层中,并非每个用户都有一个单独的 Windows 域帐户,则建议将身份验证分成几个阶段。在验证用户身份的外层,如果不加密整个会话,至少应该使用 SSL 加密凭据。应该使用 Windows 身份验证连接到数据库服务器,并在特权很小、只具有执行数据库服务器功能所必需的权限的单独安全上下文中转发事务信息。这样,可以将中间层有效地作为服务器和 Internet 之间的附加防御层。

例如,对于日语部署,如果按下面的方式使用 Unicode CJK Extension A 字符或
Unicode 代理项,请使用“Japanese_90”排序规则,而不是默认排序规则。 •
Team Foundation Server 对象名,如“查询”或“项目”。

注意 建议不要在中间层和 SQL Server 之间使用 SQL Server 身份验证,因为使用 SQL Server 身份验证需要存储凭据。如果必须在中间层和 SQL Server 之间使用 SQL Server 身份验证,那么应该创建几个帐户,并让它们分别具有与不同种类的用户对应的不同级别的特权。这要求您向中间层中添加逻辑,以便按照所需的特权级别分配连接。

• 签入到版本控制系统中的文件或路径。

不同的非信任域或没有域(不进行 Windows 身份验证) 如果不能在各层之间使用 Windows 身份验证,则应要求对登录序列进行 SSL 加密。最好加密整个会话。

• 用于搜索的任何工作项字段。

还应使用 DPAPI 加密必须存储的凭据。 

为了避免由全角字符或平假名/片假名等效字符带来的问题,请在安装过程中选中启用区分假名和全角字符的复选框。

应将加密凭据存储在用 ACL 保护的注册表项中。

Team Foundation Server 不支持如下排序规则: • 不区分重音

软件供应商检查表

• 二元

除上面的所有项目外,下列安全开发做法也已被证明对于提高各种开发环境中代码的质量及安全性非常有用。 

• Binary2

安全过程  
了解各种安全问题 确保开发小组的成员了解主要的安全问题:当前存在的威胁、安全趋势、更改安全环境以及受到攻击的情形。 

• 区分大小写

要求对所有开发人员和测试人员进行相关的安全培训。

(14)在“报表服务器安装选项”页上,选择“安装默认配置”,然后单击“下一步”。

增强对跨站点脚本、缓冲区溢出、SQL 插入和危险的 API 等问题的认识。

(15)在“错误和使用情况报告设置”页上,可以选择“自动将 SQL Server 2005
的错误报告发送到 Microsoft 或您公司的错误报告服务器”和“自动将 SQL Server
2005 的功能使用情况数据发送到 Microsoft”,然后单击“下一步”。

确定对产品构成威胁的各种具体类型,例如拒绝服务、特权升级、欺骗、篡改数据、信息泄漏和丢弃。

(16)在“准备安装”页上,可以查看要安装的组件的列表,然后单击“安装”。

针对每个组件逐一分析产品受到的安全威胁。

(17)在“安装进度”页上,可以监视每个组件的安装状态。安装完成后,单击“下一步”。

基于产品构建安全威胁检查表。

(18)单击“完成”退出向导。

在产品开发周期的每个阶段(从设计到测试)增加安全审核步骤。 

四 安装 Microsoft SQL Server 2005 修补程序

安装 MSDE 如果将 MSDE 与应用程序一起分发,则应遵守下列附加准则: 

   安装 Microsoft SQL Server 2005 后,必须安装修补程序来更新 SQL
Server Analysis Services 以便更有效地支持报告。

使用”Windows 安全模式”作为默认设置安装 MSDE。

安装 Microsoft SQL Server 2005 修补程序

绝对不要使用空的 sa 密码。 

  1.  

在向客户分发 MSDE 时,应使用 Microsoft 提供的安装程序,而不要使用合并模块。

在数据层计算机上,打开“SQL Server 配置管理器”,右击“SQL Server
浏览器服务”,然后单击“停止”。

在安装将只作为本地数据存储运行的 MSDE 实例时,应该禁用服务器网络库。

  1.  

如果产品中包括 MSDE,则应让您的客户知道这一点。他们将来可能需要安装或接受 MSDE 特定的软件更新程序。 

在 Team Foundation Server 安装媒体上,找到 SQLServerKB 文件夹。

MSDE 在默认情况下安装 SQL Server 代理,但是将服务启动类型保持为”手动”。如果应用程序不使用 SQL Server 代理,则应将此设置更改为”禁用”。在产品文档中包括安全性最佳做法信息。 

  1.  

附录:查找详细信息

找到与您的操作系统和语言对应的可执行文件 (.exe),如
AS2005-KBnnnnnn-x86-ENU.exe,然后双击该文件以启动 Hotfix
Installer(修补程序安装程序)。

建议参阅的书目:

  1.  

Inside Microsoft® SQL Server™ 2000(Microsoft® SQL Server™2000 内幕),作者:Kalen Delaney。版权所有 2000,Microsoft Press。ISBN:0-7356-0998-5。
Writing Secure Code, Second Edition(编写安全代码,第二版),作者:Michael Howard 和 David LeBlanc。

本书回顾了在对组件/应用程序进行设计、编码和测试时最常遇见的安全缺陷,它是非常有用的培训资源。本书包含安全性最佳做法和检查表。本书还提供了在设计安全应用程序、编写可抵御反复攻击的可靠代码以及测试应用程序是否存在安全缺陷时使用的策略。 

在 “Hotfix Installer”中接受“End User License
Agreement”(最终用户许可协议),完成各页以安装该修补程序,然后单击“Finish”(完成)。

Hacking Exposed Windows 2000(Windows 2000 面临的攻击威胁),作者:Joel Scambray 和 Stuart McClure。 
本书收集了黑客的攻击途径。其中详细讲述了如何闯入 Windows 2000 计算机,从而增强如何防止类似攻击的意识。本书中还有一整节专门介绍了 SQL Server 以及如何使用它来攻击整个系统。
Designing Secure Web-Based Applications for Microsoft® Windows® 2000(设计面向 Microsoft® Windows® 2000 的基于 Web 的安全应用程序),作者:Michael Howard。

本书是帮助您理解 Microsoft Windows 2000、Internet Explorer、Internet 信息服务、SQL Server 和 COM+ 安全概念的坚实基础。它介绍在设计不同种类和级别安全性的软件时需要考虑的关键事项,并展示被隔离的安全性”孤岛”如何进行交互。本书还介绍了核心安全问题(如风险分析、威胁、身份验证、授权和隐私),并说明了如何通过对环境和应用程序应用适当的安全性来降低风险。经理、开发人员和测试人员均可以利用本书中的知识,从安全角度查看组件、进行威胁分析以及采取适当的响应措施(增强代码/设计的安全性并相应地改进测试套件)。

  1.  

Building Secure ASP.NET Applications(构建安全的 ASP.NET 应用程序),作者:J.D.Meier 等。

本指南介绍了一些针对特定情形的实用方法,使用这些方法可以构建面向 Windows 2000 和 .NET Framework 1.0 的安全的 ASP.NET 应用程序。本指南重点介绍了在分布式 .NET Web 应用程序各层内及层与层之间进行身份验证、授权和安全通信的关键要素。

在“SQL Server 配置管理器”中,右击“SQL Server Browser
服务”,然后单击“属性”。

Firewalls and Internet Security, second edition(防火墙和 Internet 安全,第二版),作者:William R. Cheswick、Steven M. Bellovin 和 Aviel D. Rubin。Addison-Wesley,2003。
这是对 Internet 安全的权威介绍。强烈建议您参考本书。

  1.  

建议使用的工具、白皮书和演示文稿 

在“服务”选项卡上找到“启动模式”,然后选择“自动”。

此站点汇集了指向 SQL Server 安全白皮书、企业最佳做法、安全公告等的大量链接。

  1.  

The Microsoft Baseline Security Analyzer Tool(Microsoft 基准安全分析器工具)。此工具可帮助分析系统的安全性。建议管理员定期运行此工具。此工具执行 SQL Server 特定的一些检查操作。

在“登录”选项卡上,单击“启动”。

SQL Server Critical Update Wizard(SQL Server 关键更新程序向导。

8.
注意:如果在“登录”选项卡上未启用“启动”,则单击“服务”选项卡,将“启动模式”设置为“禁用”,然后再次选择“自动”以显式更新“启动模式”。

Microsoft SQL Server 和安全站点 

 

Microsoft 网站中专门介绍安全性的区域。

五  安装 Microsoft Windows SharePoint Services

主要的 SQL Server 站点,通过其中的链接可下载最新的 Service Pack、最新的公告和其他资源。

    (1)使用 Team Foundation Server 安装帐户(例如
Domain/TFSSETUP)登录到 Windows。

TechNet 资源站点

    (2)下载带 Service Pack 2 的 Microsoft Windows SharePoint
Services ()
并将该文件保存到本地硬盘中。

MSDN 资源站点

    (3)运行下载的自解压缩安装程序文件 (stsv2.exe)。

白皮书 

    (4)在“最终用户许可协议”页上查看许可协议。如果您接受其中的条款和条件,请选择“我接受许可协议中的条款”,然后单击“下一步”。

SQL Server 开发人员中心。包含最近的技术白皮书和下载程序。

    (5)在“安装类型”页上选择“服务器场”,然后单击“下一步”。

上述白皮书是在最初发行 SQL Server 2000 时编写的,它是本白皮书中各部分内容的基础。

   注意: 必须使用“服务器场”选项来安装 Windows SharePoint
Services。这样会将 Windows SharePoint Services 配置为使用远程 SQL
Server。以后,Team    Foundation Server 安装程序会将 Windows SharePoint
Services 配置为与 Team Foundation Server 的其余部分使用相同的 SQL Server
实例。

SQL Server 安全相关内容的许多链接。

   (6)在“摘要”页上单击“安装”。安装完成时,将打开一个 Web
浏览器窗口,并显示“配置管理虚拟服务器”页。确认该页显示后,不要进行任何更改,关闭该浏览器窗口。

   注意:不要对显示的页进行任何更改。以后,Team Foundation Server
安装程序会将 Windows SharePoint Services 配置为与 Team Foundation Server
的其余部               分使用相同的 SQL Server 实例。

     (7)访问 Windows Update ()
并安装“重要更新和 Service Pack”组中的所有项。

      (8)重新启动计算机

    安装 Windows SharePoint Services 后,即使未安装 Team Foundation
Server 也能确保 Windows SharePoint Services 正在运行。

    验证已安装 Windows SharePoint Services

  •  

打开 Internet Explorer 并键入相应的服务器名称作为地址。

• 例如,对于名为 ADATUM 的服务器,应键入
Http://adatum。

虽然未配置站点,但服务器是活动 Web 服务器并提供“建设中”页面。

 

六 安装 Team Foundation Server   

•使用 Team Foundation Server 安装帐户(例如 Domain/TFSSETUP)登录到
Windows。 •  

插入 CD,在出现的自动运行页上单击“安装 Team Foundation
Server”,然后单击“单服务器安装”。

如果未出现自动运行页,请在安装媒体的根文件夹中找到并运行自动运行文件
(autorun.exe)。

此时将启动“Visual Studio Team Foundation Server 安装向导”。

•  

在“欢迎使用安装程序”页上单击“下一步”。

•  

在“许可条款”页上查看条款。如果您接受其中的条款和条件,请选择“我接受许可协议中的条款”,然后单击“下一步”。

安装向导将进行扫描,查找可能导致安装失败或导致以后的服务器操作过程中出错的条件。

•  

在“目标文件夹”页上,接受默认的目标文件夹并单击“下一步”。

•  

在“系统状况检查”页上,单击“报告”链接检查是否有任何警告或阻止。 •  

必须先解决阻止问题,然后才能继续安装。单击“取消”并在解决了问题后再次运行安装程序。

•  

应在继续安装之前解除警告,但不应阻止安装程序完成。可以单击“下一步”。

•  

如果没有列出任何内容,则单击“下一步”。
在“服务登录帐户”页上,在“帐户名”框中键入您为 Team Foundation Server
服务帐户创建的 Windows 域用户帐户(例如
RF/TFSSERVICE),并在“密码”框中键入密码,然后单击“下一步”。

•  

在“报告登录帐户”页上,键入 Team Foundation Server
报告帐户的帐户信息,然后单击“下一步”。

  注意:此帐户不应与 Team Foundation Server
安装或服务帐户相同。例如,使用 RF/TFSREPORTS。

•1.在“指定警报设置”页上,选择“启用 Team Foundation
警报”,然后键入以下信息: 2. 在“SMTP
服务器”框中,键入将用于发送电子邮件通知的服务器的名称。


在“发件人电子邮件地址”框中,键入作为通知来源的电子邮件地址的名称,然后单击“下一步”。

  1. 在“安装准备就绪”页上单击“安装”。

  2. 在“正在安装组件”页上,可以监视 Team Foundation Server 的安装。

在安装期间,可能会提示您重新启动计算机。单击“立即重新启动”,在重新启动计算机并且您再次登录后,安装将继续。

  1. 在“成功完成安装”页上,验证完成安装后,单击“完成”。

  2. 在 Internet Explorer 中,定位到
    ,然后单击“GetRegistrationEntries”。

  3. 在“GetRegistrationEntries”页上单击“调用”。不必输入 ToolID。

安装中出现的问题及解决方法:

1.1    利用Microsoft SQL Server 2005 (32-Bit) 在 64-Bit
操作系统上不支持安装 Team Foundation Server。

如果试图通过Microsoft SQL Server 2005 (32-bit) 在一个 64-bit
的操作系统上安装 Team Foundation Server,那么SQL Server
服务就会发现并且会终止安装。

如何解决这个问题

使用双服务器部署,利用Microsoft SQL Server (64-bit) 来完成安装 Team
Foundation 数据层的步骤。如需更多的信息,请参见安装向导中的“Team
Foundation系统要求”和“Team Foundation Server 双服务器部署概览”两篇文章。

  1. 安装产品

2.1 病毒程序会在安装过程中必需的重启过程中清除/temp 文件夹造成安装失败。

如果安装过程中必须重新启动,病毒程序则会在启动时清除/temp
目录,那么安装所需的文件将会被删除,安装就会失败。

如何解决这个问题

重新启动计算机后重新安装。

2.2    在这个版本中,在Team Foundation Server
应用程序与数据库层之间通过多个网络节点的传输大文件时,两者之间的很多隐患都可能造成超时错误

如何解决这个问题

将Team Foundation Server
的应用程序与数据库层之间的网络节点数量降到最小。

2.3 使用应答文件在没有非英文版的Windows Server 2003 上安装 SQL Server
2005 失败.

当你使用提供的应答文件安装SQL Server 2005 时,可能会有一下错误:

“SQL Server
安装无法验证服务帐号。有可能是所提供的服务帐号已经安装了,也有可能是指定的用户名或密码错误。对于每一个服务,需要制定一个有效的用户名,密码,和域,或者指定一个系统内建帐号”

如何解决这个问题

Team Foundation Server
所提供的应答文件中包含的英文用户帐户名可能造成在非英文版的 Windows
Server 2003
上安装失败。通过修改应答文件可以对于指定帐号使用正确的本地化用户名。

2.4 在安装过程中的错误32000(ConfigureNTLM.exe /addntlm “Team Foundation
Server” returned non-zero value: 1)

如果在一台已经使用TCP 8080 端口的服务器上安装 Team Foundation
Server,Team Foundation Server 的安装将会失败,即使在安装期间停止 8080
端口上的所有站点,这是因为这个端口是被Team Foundation Server
站点所要求的使用的。

如何解决这个问题

在安装Team Foundation Server 之前先确认 TCP 8080
端口没有被占用。删除所有绑定在 8080 端口的站点或者改变这些站点的端口号。

2.5 在安装Team Foundation Server Proxy 期间出现错误32000
(ConfigureNTLM.exe /addntlm “Team Foundation Server” returned non-zero
value: 1)

如果安装在一台已经占用了TCP8081 端口的服务器上安装 Team Foundation
Server Proxy,安装将会失败,即使在安装时停止所有8081 端口上的站点。

如何解决这个问题

在安装Team Foundation Server Proxy 之前先确认 TCP8081
端口没有被占用。如果占用了就删除所有绑定在 8081
端口的站点或者改变这些站点的端口号。

2.6 当运行Team Foundation Server (服务)Setup 时出现错误28918
TFServerStatusValidator: ErrorMakingWebServiceCall

当运行Team Foundation Server (服务)Setup 时,可能出现以下错误:

错误28918。TFServerStatusValidator: ErrorMakingWebServiceCall –
没有成功调用Tfs 注册 Web 服务。可能是因为 IIS 没有运行或者没有正确配置。

在 IIS 上安装 URLScan 安全工具的默认设置可能造成这个错误。如果 URL
包含不止一个节点,例如)
,URLScan 拒绝请求。

如何解决这个问题

为了允许使用包含多节点的URL,可以通过配置URLScan Security Tool
在urlscan.ini 文件中设置 AllowDotInPath=1。如需更多的信息,请参见How to
configure the URLScan Tool。

2.7    使用Unicode 字符输入密码可能造成安装失败。

虽然在Windows 密码中允许使用某些 Unicode 字符,但是如果在密码中使用
Unicode 字符可能导致 Team Foundation Server 安装失败。

如何解决这个问题

不要在密码中使用Unicode 字符。

2.8    文档是过期的或者显示预先发布内容。

如果你已经为Visual Studio 2005 安装了 MSDN Library,或者你为Team
Foundation 或 Team Explorer
安装了本地化帮助作为文档的主要来源,那么这些帮助文档可能是过期的或者不完整的。

如何解决这个问题

下载和安装最新版本的MSDN Library
以确保拥有最新的产品文档。如需更多的信息,可以访问在
下的 Team System Documentation Directory。

2.9    当工作通过安装检查列表时,使用应答文件安装SQL Server 2005.

安装SQL Server 2005 最有效的方法是使用应答文件代替安装向导。

如何解决这个问题

对于单台服务器的安装,可以在安装向导中参见“如何做: 安装Microsoft SQL
Server 2005 for Team Foundation Server
(单台服务器部署)”中的应答文件程序。

对于双服务器的数据层安装,可以在安装向导 中参见“如何做: 安装Microsoft
SQL Server 2005 for Team Foundation Server
(双服务器部署)”中应答文件程序。对于双服务器的应用层安装,可以参见安装向导中“如何做:安装Microsoft
SQL Server 2005 Reporting Services for Team Foundation Server
(双服务器部署)”中的应答文件程序。

2.10 错误28100:在安装Team Foundation Server 时错误加载 Event Web 服务。

安装不能确定应用层服务器名。在MSI
日志中,可以找到下面的实体:“EventService
代理对象加载失败:TF30076:提供的服务器名与找到的服务器URI
不相符。请确认服务名是正确的。”

如何解决这个问题

打开注册表并且删除注册表中的键值

HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/8.0/TeamFoundation/Servers,然后重新启动安装.

2.11 在安装了Team Foundation Server 之后改变服务账号可能造成安装失败。

如果必须修改在早先安装Team Foundation Server
时所用的服务账号,可以在卸载 Team Foundation Server 之前利用在 Team
Explorer 中安全选项设置为可用或者利用 TFSAdminUtil
命令行工具修改服务账号。使用工具修改服务账号不同于使用 Team Foundation
Server
提供的那些工具修改账号服务,它们可能导致一些意外的结果。例如,利用
Windows Services Manager 和 Internet Information Services (IIS) Manager
来修改账号是不能在 Team Foundation Server 中自动注册的。

如何解决这个问题

我们推荐如果可能可以在重新安装或者修复 Team Foundation Server
之后修改账号。如果在 Team Foundation Server
卸载时必须修改账号,那么可以先创建一个账号然后升级 Windows SharePoint
Services 应用程序池和报告服务器的服务帐号。可以使用I nternet Information
Services (IIS) Manager 升级应用程序池。

我们推荐服务帐号使用域帐号。如果选择部署单台服务器,则必须使用本地帐号,并且确认在帐号名前面包括前缀”machine/”。例如,安装向导使用”domain/TFSSERVICE”作为服务帐号的占位符。如果你想使用那个名称修改本地帐号,那么必须指定前缀。

2.12 将Internet Information Services (IIS) 根目录从 Inetpub
目录移动到其他目录可能造成错误32000。

错误32000导致Team Foundation Server 安装失败。“The Commandline
D:/Program Files/Common Files/Microsoft Shared/Web Server
Extensions/60/Bin/Stsadm.exe …’ returned non-zero value:
-2130242250.”这是因为Windows SharePoint Services 管理站点没有安装,并且
Team Foundation Server 不能配置这个站点。

在安装Windows SharePoint Services 期间就应该安装 Windows SharePoint
Services 的管理站点,但是如果 Internet Information Services (IIS)
根目录从 Inetpub 移动到其他目录并且 AdminScripts
子目录有没有移动,那么安装将会失败。

如何解决这个问题 1.卸载 Windows SharePoint Services。 2.将 AdminScripts
子目录从Inetpub 目录移动到IIS 新的根目录。 3.重新安装Windows SharePoint
Services。 4.重新安装Team Foundation Server。

 

2.13 如果数据层的防火墙处在激活状态,那么不能够通过域安装应用程序层

在安装应用程序层,可以使用远程Windows Management Instrumentation
(WMI)进行系统健康检查。WMI
要求远程管理端口在数据层是开放状态。如果端口没有开放,则数据层不会被正确配置。

如何解决这个问题

首先核实在数据层的端口是否开放,然后继续通过系统健康检查。如果微软防火墙为激活状态,则需要开放Team
Foundation Server 所需的数据层端口。

2.14   由于服务帐号的原因而不能重新安装。

当你卸载了Team Foundation
Server,然后又试图在单台服务器或双台部署服务器的应用程序层上重新安装,那么你必须使用在初始安装时使用的服务帐号。

如何解决这个问题

首先确定所使用的服务帐号,打开服务管理 器,按“Log on
as”排列,然后找到在列表最下端的Team Foundation Server
服务。在底端检查服务的“Log on
as”值;例如TFSServerScheduler。那个值会显示出在重新安装时必须指定的服务帐号。

2.15    由于报告服务应用程序池的原因而不能够安装

当安装程序在计算上检测到SQL Server 2005 报告服务IIS
应用程序池时,安装将不能继续。

如何解决这个问题

在再一次运行安装程序之前,请打开Internet Information Services Manager
删除报告服务应用程序池,展开应用程序池节点,然后删除报告服务的应用程序池。

2.16   由于”作为服务登录”权限不足的原因而不能安装。

服务帐号必须将”作为服务登录”权限设置为允许。

如何解决这个问题

首先校验两个服务帐号对于”作为服务登录”都是允许操作的。
1.在开始菜单,单击控制面板,单击管理工具,然后单击本地安全策略
2.展开安全设置,单击本地策略,然后单击用户权限分配。
3.在详细面板中,找到并双击作为服务登录
4.在作为服务登录属性中,将制定的服务定位。例如,向导总使用placeholders
domain/tfsservice 和 domain/tfsreports 作为服务账号。

 

2.17   
当默认站点在被要求配置一个安全通道(SSL)时出现安装失败,错误号:28804
或者28805。

Team Foundation Server
单台或双台(应用程序层)安装失败出现错误号28804或28805。进一步察看安装日志显示这个问题是由于CreateDS用户行为所导致的,并且“所
做的操作要求一个安全连接(HTTPS).”这大概是由于默认站点要求SSL 证书时
Report Server 自动配置了 SSL 连接。Team Foundation Server
安装不能自动配置服务器的 SSL 唯一连接。这是一个安装后的配置操作。

如何解决这个问题

对于单台服务器,打 开%ProgramFiles%/Microsoft SQL
Server/MSSQL.3/Reporting
Services/ReportServer/RsReportServer.config。将“SecureConnectionLevel”的值由
“2”修改为“0”。在Team Foundation Server
安装错误对话框中,单击重试,或者重新安装。

对于双服务器,单击 取消。打开 IIS
管理器并将默认站点配置成为不需要安全通道连接(SSL)即可,然后重新安装应用程序层。

2.18    当 Team Foundation Server 从测试版升级到工作组版时可能出现
TF53011 错误。

从测试版升级到工作组版本以后,通过 Team Explorer 尝试连接服务器导致了
TF53011 错误:“Team Foundation Server 返回以下错误:HTTP
请求失败,状态403:TF53011:domain/user
不是一个授权用户…”。这个错误的出现是因为从测试版升级到工作组版本时没有创建授权的工作组用户组。

如何解决这个问题

在升级到工作组版本之后,使用修复模式重新运行Team Foundation Server
安装程序(应用程序层安装或单台服务器安装)。

2.19   在一个两台服务器的安装上使用不同版本的SQL Server
可能造成安装失败。

如果在数据层和应用层使用不同版本的SQL Server,存在某些合并(例如,SQL
标准版在应用层上,SQL 开发版则在数据层上)可能造成安装失败。

如何解决这个问题

在一个双服务器配置时,在应用层和数据层的机器上使用相同版本的SQL。

2.20    使用64位操作系统运行Team Foundation Server 和SQL Server 2005。

如果安装在64位操作系统上,那么Team Foundation Server 则需要安装 SQL
Server 2005 (64-bit)。如果在一个64位的操作系统上安装SQL Server 2005
(32-bit),Team Foundation Server 数据层安装失败。

如何解决这个问题

在64位操作系统上使用SQL Server 2005 (64-bit)。

2.21   在卸载和重新安装数据层之后重新安装Team Foundation Server
应用层出现错误。

卸载和重新安装Team Foundation Server
数据层不会将要求的注册存储程序加入到 Team Foundation Server
集成数据库中,这会造成应用层安装失败。

如何解决这个问题

修复Team Foundation Server
数据层的安装可以插入所需的存储程序,并将应用层安装成功。