在双
服务器部署中,由两台或更多台物理服务器承载构成 Team Foundation 逻辑应用层和数据层的组件。从单服务器部署移到双服务器部署时,需要将原始服务器转换为应用层服务器,并在新的数据层服务器上安装和配置 SQL Server。然后,将 SharePoint 产品和技术以及 SQL Server Reporting Services 重定向到新的数据层服务器,并将原始部署中的数据还原到新的数据层服务器。有关更多信息,请参见 Team Foundation Server 移动类型。 在执行此类型的移动之前,应通读本主题并考虑打印所有必需的步骤。还应考虑打印本主题所链接的那些主题以及包含有关其他必需步骤的信息的主题。 在此类型的移动过程中,切勿执行以下任何 *** 作: 不得更改服务
帐户。 不得更改原始服务器的名称或域。 在不具备足够信任的情况下,不得将数据层服务器安装到原始部署之外的其他域中。 若要执行此类型的移动,必须按照列出的顺序完成以下各节中的过程: 备份
数据库和加密密钥安装SQL Server 并准备新硬件还原数据库重定向 SharePoint 产品和技术以使用新的内容数据库重新连接管理数据库和配置数据库重定向并测试 SQL Report Server、Reporting Services 以及默认报表将应用层服务器重定向到新的数据层重新生成 Team System 多维数据集删除版本控制缓存更新服务帐户重新启动服务刷新客户端计算机上的数据缓存必需的权限 若要完成上述这些过程,您必须是新旧服务器上 Administrators 组的成员以及 Team Foundation Administrators 组的成员。 除了这些权限,对于运行 Windows Server 2008 或 Windows Vista 的计算机,您可能还需要满足以下要求: 若要使用命令行过程,您可能需要通过以下 *** 作使用提升的权限打开命令提示窗口:单击“开始”,右击“命令提示符”,再单击“以管理员身份运行”。 若要使用需要 Internet Explorer 的过程,您可能需要通过以下 *** 作以管理员身份启动 Internet Explorer:单击“开始”,单击“所有程序”,右击“Internet Explorer”,再单击“以管理员身份运行”。 若要编辑 webconfig 文件,您可能需要通过以下 *** 作以管理员身份启动文本编辑器:单击“开始”,单击“所有程序”,右击所需编辑器,再单击“以管理员身份运行”。 若要访问 Reporting Services 的报表管理器、报表或网站,您可能需要将这些站点添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。 有关更多信息,请参见 Microsoft 网站。 备份数据库和加密密钥 必须先备份 Team Foundation 的数据库,然后才能将部署从单服务器配置更改为双服务器配置。在此移动过程中,需要将这些数据库还原到新的数据层服务器。 备份数据库和加密密钥 备份所有的 Team Foundation 数据库。 有关更多信息,请参见如何:备份 Team Foundation Server。 说明:您还必须备份要保留的 SharePoint 产品和技术的任何自定义站点定义、自定义站点模板或自定义 Web 部件。有关更多信息,请参见 Microsoft 网站上的“Backup and Restore Options for Windows SharePoint Services 20”(Windows SharePoint Services 20 的备份和还原选项),或者对于 Windows SharePoint Services 30,请参见 Microsoft 网站上的“Choose backup and recovery tools (Windows SharePoint Services)”(选择备份和恢复工具 (Windows SharePoint Services))。如果 SharePoint 产品和技术安装在应用层上,并且希望将 SharePoint 产品和技术的数据库移到新的数据层,请确保备份 SharePoint 产品和技术的管理数据库(SharePoint_AdminContent_ID) 以及内容和配置数据库。 备份Reporting Services 加密密钥。确保将此密钥存储在运行 Team Foundation Server 的服务器以外的其他计算机上的安全位置,并且新的应用层服务器可以访问该密钥。还必须存储加密该密钥时使用的密码。 有关更多信息,请参见如何:备份 Reporting Services 加密密钥。 安装SQL Server 并准备新硬件 备份数据库后,必须在将用作部署的新数据层服务器的计算机上安装 SQL Server。 安装SQL Server 并为移动准备服务器 在新环境中安装 SQL Server,并确保其正常运行。 有关详细说明,请打开 Team Foundation 安装指南,找到有关如何在双服务器部署中安装 SQL Server�0�2的主题。您安装的 SQL Server�0�2的版本必须与原始部署中使用的版本相同。可以在 Microsoft 网站上找到该指南。 在应用层服务器上,打开命令提示窗口,将目录更改到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。 在命令提示符处,键入下列命令: TfsDBexe install /server:"新SQL Server 名称" /property:"TFS_SERVICE_ACCOUNT=TFS 服务帐户;TFS_REPORTING_ACCOUNT=TFS Reporting Services 帐户;LCID=LCID 编号;VSTF_AS_INSTANCE=Analysis Services 服务器名称;VSTF_AS_DATABASE=Team Foundation 数据仓库名称;VSTF_AS_ACCOUNT="新SQL Server 名称 是刚刚安装了 SQL Server 并且您打算在其上还原数据的服务器的名称。如果您使用的是命名实例,则不但要包括服务器名称,而且还必须包括相应的实例名。 TFS 服务帐户 是采用域\帐户 或计算机\帐户 格式的 Team Foundation Server 服务帐户。如果您使用的是系统帐户,则必须使用系统\帐户 格式指定该帐户。例如,如果要使用 Network Service,则应将它指定为 NT Authority\Network Service。 TFS Reporting Services 帐户 是采用域\帐户 或计算机\帐户 格式的 Reporting Services 数据源帐户。 LCID 编号 是您所用语言版本的 SQL Server 的语言排序规则 ID 号。例如,英语的 LCID 为 1033。 Analysis Services 服务器名称 是装有 SQL Server Analysis Services 的服务器的名称。默认情况下,此服务器与新SQL Server 名称 是同一台服务器。 Team Foundation 数据仓库名称 是Team Foundation 的原始数据仓库的名称。默认情况下,该值为 TfsWarehouse。 在运行 Reporting Services 的服务器上,检索并保存 Reporting Services 安装 ID 的列表。 打开“命令提示符”窗口,将目录改为下面的目录: %ProgramFiles%\Microsoft SQL Server\90\Tools\binn\ 运行RSKeyMgmt -l。 记录安装 ID,然后将列表打印出来或将其保存到一个安全的位置。 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序停止下表中的服务和应用程序池: 登录到承载此程序的服务器 停止此组件 SharePoint 产品和技术 SharePoint 定时服务或 Windows SharePoint Services 定时 默认网站或团队网站 应用层 Visual Studio Team Foundation Server 任务计划程序服务 Microsoft Team Foundation Server Application Pool SQL Server Reporting Services SQL Server Reporting Services (TFS 实例)(服务) ReportServer 或 ReportServer$实例名称(应用程序池) 说明:如果您运行的是 SQL Server 2005,则需要在 Internet 信息服务 (IIS) 中管理 ReportServer;如果运行的是 SQL Server 2008,则不需要这样做。 默认网站或报表管理器网站 重要说明:若要在基于还原的移动过程中移动用户帐户和服务帐户,Team Foundation Server 的新部署必须处于停止状态。如果在还原数据之后、移动用户帐户和服务帐户之前重新启动 Team Foundation Server,可能会导致作为迁移目标的用户在 TFSIntegration 数据库中标记为已删除。如果组安全服务在与 Active Directory 同步时找不到用户的系统标识符 (SID),便会出现此问题。 有关如何启动和停止服务及应用程序池的更多信息,请参见如何:停止和启动服务、应用程序池和网站。 还原数据库 停止服务后,可以使用 SQL Server 提供的还原工具来还原 Team Foundation 的数据。 警告:You must restore all the databases to the same point in time 否则,数据库可能会损坏。打开“还原数据库”对话框 在新的数据层服务器上,单击“开始”,指向“所有程序”,指向“Microsoft SQL Server”,再单击“SQL Server Management Studio”。 说明:有关如何还原数据库的更多信息,请参见 Microsoft 网站上的“实现 SQL Server 数据库还原方案”。 在“服务器类型”列表中单击“数据库引擎”。 在“服务器名称”列表中,单击或键入适当的服务器。 在“身份验证”列表中,单击适当的方案。 在“用户名”中,键入有效帐户的用户名。 在“密码”中键入该帐户的密码(如果 SQL Server 要求),再单击“连接”。 展开“数据库”节点,以显示构成 Team Foundation 数据层的数据库的列表。 为以下各数据库完成“还原各个数据库”过程: ReportServer 说明:如果使用了命名实例,此数据库将命名为“ReportServer$实例名称”。 ReportServerTempDB 说明:如果您使用的是命名实例,则此数据库将命名为“ReportServerTempDB$实例名称”。 SharePoint 产品和技术的配置数据库(STS_Config_TFS 或 WSS_Config) 重要说明:仅当SharePoint 产品和技术安装在原始单服务器部署中且您未更改其位置时,才应还原此数据库。如果在其他服务器上使用或安装�0�2SharePoint 产品和技术,则不需要还原此数据库。 SharePoint 产品和技术的内容数据库(STS_Content_TFS 或 WSS_Content) 包含SharePoint 产品和技术数据的数据库的名称将随着两个因素而变化:一是所安装的 SharePoint 产品和技术的版本,二是安装人员是否对该名称进行了自定义。此外,如果 SharePoint 产品和技术安装在与 Team Foundation Server 不同的服务器上,则这些数据库可能不在 Team Foundation 的数据层服务器上。如果这些数据库不存在,则必须从 Team Foundation Server 分别管理它们的备份、还原和配置。但是,您应该同步数据库的维护 *** 作以避免同步错误。 SharePoint 产品和技术的管理数据库 (SharePoint_AdminContent_ID) 重要说明:仅当SharePoint 产品和技术安装在原始单服务器部署中且您未更改其位置时,才应还原此数据库。如果在其他服务器上使用或安装�0�2SharePoint 产品和技术,则不需要还原此数据库。 TfsBuild TfsIntegration TfsVersionControl TfsWarehouse TfsWorkItemTracking TfsWorkItemTrackingAttachments TfsActivityLogging(可选) 说明:在还原过程中,必须将为自定义过程模板创建的任何自定义站点模板或 Web 部件上载到 SharePoint 产品和技术的数据库中。还原各个数据库 右击要还原的数据库,依次指向“任务”、“还原”,然后单击“数据库”。 重要说明:在大多数部署中,SQL Server 数据库和 SharePoint 产品和技术数据库将显示在“数据库”节点下方的数据库列表中。若要还原未显示在列表中的任何数据库,必须右击“数据库”节点,单击“还原数据库”,再指定未显示在列表中的任何数据库。“还原数据库”对话框打开。 在“还原的源”下方单击“源设备”,再单击省略号按钮(“…”)。 在“指定备份”对话框中,指定备份文件的位置,再单击“确定”。 您应用的第一个备份必须是完整备份,随后按照创建顺序依次应用事务日志备份。 在“选择要还原的备份集”下方指定要还原的备份集。 在“选择页”窗格中,单击“选项”,然后选中“覆盖现有数据库”复选框。 在“将数据库文件还原为”列表中,确认路径与当前数据库路径相匹配。 如果要将数据库还原到其他驱动器,则此步骤十分重要。 在“恢复状态”下方单击相应的状态。 执行以下步骤之一: 如果不准备应用其他事务日志,请单击“数据库随时可用”。 如果准备应用其他事务日志,请单击“数据库尚不可用”。 单击“确定”关闭“还原数据库”对话框并还原数据库。 如果准备应用其他事务日志,请按照日志备份的创建顺序,对每组日志备份执行此过程。从完整备份后创建的第一组日志备份开始。 有关更多信息,请参见 Microsoft 网站上的“应用事务日志备份”。 重定向 SharePoint 产品和技术以使用新的内容数据库 必须将团队项目的任何网站重定向到新的 Team Foundation 数据层服务器上的内容数据库。如果要移动所有的 SharePoint 产品和技术数据库,则可以跳过此过程,而继续本主题稍后部分中的“重新连接管理数据库和配置数据库”过程。 重定向项目站点以使用新数据层服务器上的内容数据库 登录到承载 SharePoint 产品和技术的服务器,并将 SharePoint 产品和技术重定向到新数据层服务器上的内容数据库。 有关更多信息,请参见如何:重定向 SharePoint 产品和技术以使用新的内容数据库。 重新连接管理数据库和配置数据库 SharePoint 产品和技术保留在原始单服务器上,该服务器现在是新部署的应用层服务器。但是,您仍需要对它进行配置,以使用新数据层服务器上的管理数据库和配置数据库。 重新连接 SharePoint 产品和技术的管理数据库和配置数据库 登录到承载 SharePoint 产品和技术的服务器,打开命令提示窗口,更改到下面的目录: %PROGRAMFILES%\microsoft shared\web server extensions\12\bin。 键入以下命令: stsadm –o renameserver –oldservername 原始数据层服务器名称 -newserver 新数据层服务器名称 有关如何还原 SharePoint 产品和技术的更多信息,请参见 Microsoft 网站上的“White paper: Backing up, restoring, high availability, and disaster recovery for Office SharePoint Server farms”(白皮书:Office SharePoint Server 场的备份、还原、高可用性和灾难恢复)。 重定向并测试 SQL Report Server、Reporting Services 以及默认报表 重定向团队项目的网站后,必须将 Reporting Services 重定向到新的数据层服务器。 还原并验证 SQL Server 2005 Reporting Services 在运行 Reporting Services 的服务器上,单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,再单击“Reporting Services 配置”。 在“选择报表服务器安装实例”对话框中,确保计算机名称是新的应用层服务器的名称。确保实例名为 MSSQLSERVER,再单击“连接”。 说明:如果您使用的是命名实例,则必须指定相应的实例名而不是默认实例 MSSQLSERVER。 在资源管理器窗格中单击“服务器状态”。 “报表服务器状态”窗格打开。 在“实例属性”中单击“启动”。 在资源管理器窗格中单击“数据库安装”。 “数据库连接”窗格打开。 在“服务器名称”中键入新数据层服务器的名称,再单击“连接”。 在“SQL Server 连接”对话框中单击“确定”。 “数据库连接”窗格打开。 单击“应用”。 在资源管理器窗格中单击“Windows 服务标识”。 “Windows 服务标识”页打开。 在“内置服务帐户”列表中单击“Local Service”。 “应用”按钮随即变成可用。此时,请勿单击它。 在“内置服务帐户”列表中单击“Network Service”,再单击“应用”。 在“SQL Server 连接”对话框中单击“确定”。 关闭“Reporting Services 配置”工具。 打开命令提示窗口,将目录更改到 %ProgramFiles%\Microsoft SQL Server\90\Tools\binn。 键入下面的命令以列出 Reporting Services 的安装 ID: RSKeyMgmt -l 在列表中,查找对应于旧数据层服务器的安装 ID。 键入下面的命令以移除该安装 ID,其中 DT 实例 ID 对应于旧数据层服务器: RSKeyMgmt –r DTInstanceID说明:请勿移除对应于新数据层服务器的安装 ID。 在运行 Reporting Services 的服务器上,单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,再单击“Reporting Services 配置”。 在资源管理器窗格中单击“加密密钥”。 在“加密密钥”页上单击“还原”。 “加密密钥信息”页打开。 在“密码”中键入加密密钥文件的密码。 在“密钥文件”中键入或单击备份加密密钥(snk 文件)的位置,再单击“确定”。 将应用层服务器重定向到新的数据层 还原数据库后,必须使用 TfsAdminUtil 命令将部署的原始服务器(现在成为新的应用层服务器)重定向到新的数据层服务器。 将应用层服务器重定向到新的数据层服务器 登录到相应的服务器,打开“计算机管理器”,然后启动下表中的应用程序池和程序: 登录到承载此程序的服务器 启动此组件 应用层 Microsoft Team Foundation Server Application Pool 默认网站或团队网站 SQL Server Reporting Services ReportServer 或 ReportServer$实例名称(应用程序池) SQL Server Reporting Services (TFS 实例) 默认网站或报表管理器网站 打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然后键入以下命令: TfsAdminUtil RenameDT newDataTierServerName重要说明:为了使此命令成功,上一步中的应用程序池和程序必须正在运行。此要求是 Visual Studio Team System 2008 Team Foundation Server 中的新增要求。此外,此命令要求服务 webconfig 文件中的连接字符串引用部署的原始服务器。如果连接字符串引用新的数据层服务器,此命令将失败。为了使此命令正确运行,您必须还原原始服务器的名称。重新生成 Team System 多维数据集 配置连接并运行 TFSAdminUtil RenameDT 命令后,必须重新生成 Team System 多维数据集。Team System 多维数据集支持 SQL Server Reporting Services,并且包含 Team System 数据仓库的关系数据库中的数据。有关更多信息,请参见了解数据仓库体系结构。 重新生成 Team System 多维数据集 重新生成 Team System 多维数据集。 有关更多信息,请参见如何:重新生成 Team System 多维数据集。 删除版本控制缓存 重新生成 Team System 多维数据集后,必须删除应用层服务器和任何代理服务器上的版本控制缓存,以强制与新的数据层服务器同步。 删除版本控制缓存 在应用层服务器上,打开 %ProgramFiles%\Microsoft Visual Studio 2008 Team�0�2Foundation�0�2Server\Web Services\VersionControl 目录。 删除Data 子目录的内容,但不要删除 Data 子目录本身。 有关更多信息,请参见如何:在应用层服务器上删除版本控制缓存。 对部署中运行 Team Foundation Server Proxy 的任何服务器重复此过程。 更新服务帐户 如果您在单服务器部署上对服务帐户使用的是本地帐户或系统帐户(如 Network Service),则必须更改这些帐户。在双服务器部署中,不能使用本地帐户。可以使用相同的系统帐户,但必须更新相应的信息,使新的应用层服务器和数据层服务器上的每个帐户与正确的 SID 相关联。 说明:在新部署上创建的帐户名必须与原始部署中的帐户名匹配。此要求既包括用户帐户也包括服务帐户。刷新服务帐户 在运行 Reporting Services 的服务器上,打开“计算机管理器”,然后启动以下组件(如果它们尚未启动的话): ReportServer 或 ReportServer$实例名称(应用程序池) SQL Server Reporting Services (TFS 实例) 在新的应用层服务器上,打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。 在命令行处,键入下列命令: TfsAdminUtil ChangeAccount 旧的域或计算机名\旧的 TFS 服务帐户 新的域或计算机名\新的 TFS 服务帐户 新密码说明:忽略任何指示服务帐户不存在或帐户不是数据仓库角色成员的警告。 在命令行处,键入下列命令: TfsAdminUtil ChangeAccount/ra 旧的域或计算机名\旧的 TFS Reporting Service 帐户 新的域或计算机名\新的 TFS Reporting Service 帐户 新密码说明:忽略任何指出服务帐户不是数据仓库角色成员的警告,或者提示您将帐户添加到服务帐户组的警告。重新启动服务 若要继续 *** 作,必须重新启动 Team Foundation 所依赖的服务。 重新启动服务 登录到相应的服务器,打开“计算机管理器”,按照指定的顺序启动下表中的组件: 登录到承载此程序的服务器 启动此组件 SharePoint 产品和技术 SharePoint 定时服务或 Windows SharePoint Services 定时 应用层 Visual Studio Team Foundation Server 任务计划程序服务 Microsoft Team Foundation Server Application Pool 刷新客户端计算机上的数据缓存刷新客户端计算机上的数据缓存 使用“ClientService”Web 服务来强制客户端在下次连接到应用层服务器时更新跟踪工作项的缓存。 有关更多信息,请参见如何:刷新客户端计算机上的数据缓存。
如何在 Reporting Services 中配置 Windows 身份验证
SQL Server 2008 R2
其他版本
默认情况下,Reporting Services 接受指定 Negotiate 或 NTLM 身份验证的请求。如果部署中包括使用这些安全提供程序的客户端应用程序和浏览器,则可以使用这些默认值,而无需附加配置。如果要使用不同的安全提供程序来获取 Windows 集成安全性(例如,如果要直接使用 Kerberos)或者修改了默认值并且要还原原始设置,则可以使用本主题中的信息来指定报表服务器上的身份验证设置。
若要使用 Windows 集成安全性,则每个需要访问报表服务器的用户都必须拥有有效的 Windows 本地或域用户帐户,或者必须是 Windows 本地或域组帐户的成员。对于其他域,只要这些域可信,您也可以包括其中的帐户。这些帐户必须具有报表服务器计算机的访问权,并且必须随后分配给相应的角色以便获得特定报表服务器 *** 作的访问权。
同时,必须满足下列附加要求:
1RSeportServerconfig 文件必须具有设置为 RSWindowsNegotiate、RSWindowsKerberos 或 RSWindowsNTLM 的 AuthenticationType。默认情况下,如果报表服务器服务帐户是 NetworkService 或 LocalSystem,则 RSReportServerconfig 文件包含 RSWindowsNegotiate 设置;否则使用 RSWindowsNTLM 设置。如果拥有仅使用 Kerberos 身份验证的应用程序,则可以添加 RSWindowsKerberos。
重要提示
如果将报表服务器服务配置为在域用户帐户下运行,并且没有为该帐户注册服务主体名称 (SPN),则使用 RSWindowsNegotiate 将产生 Kerberos 身份验证错误。有关详细信息,请参阅本主题中的连接到报表服务器时纠正 Kerberos 身份验证错误。
2必须为 Windows 身份验证配置 ASPNET。默认情况下,报表服务器 Web 服务和报表管理器的 Webconfig 文件包括 <authentication mode="Windows"> 设置。如果将其更改为 <authentication mode="Forms">,则 Reporting Services 的 Windows 身份验证将失败。
3报表服务器 Web 服务和报表管理器的 Webconfig 文件必须具有 <identity impersonate= "true" /> 设置。
4客户端应用程序或浏览器必须支持 Windows 集成安全性。
若要更改报表服务器身份验证设置,需要在 RSReportServerconfig 文件中编辑 XML 元素和值。可以复制并粘贴本主题中的示例来实现特定的组合。
如果所有客户端计算机和服务器计算机均位于相同的域或某个可信域中,并且报表服务器是针对企业防火墙之后的 Intranet 访问而部署的,则默认设置将达到最佳效果。可信域和单个域是传递 Windows 凭据所必需的。如果为服务器启用 Kerberos 版本 5 协议,则可以多次传递凭据。否则,凭据在过期之前只能传递一次。有关为多计算机连接配置凭据的详细信息,请参阅为报表的数据源指定凭据和连接信息。
以下说明针对本机模式报表服务器。如果在 SharePoint 集成模式下部署报表服务器,则必须使用指定 Windows 集成安全性的默认身份验证设置。报表服务器使用默认 Windows 身份验证扩展插件中的内部功能支持 SharePoint 集成模式下的报表服务器。
身份验证的扩展保护
自 SQL Server 2008 R2 开始,提供了对身份验证的扩展保护的支持。此 SQL Server 功能支持使用渠道绑定和服务绑定来加强对身份验证的保护。Reporting Services 功能需要用于支持扩展保护的 *** 作系统。用于扩展保护的 Reporting Services 配置由 RSReportServerconfig 文件中的设置确定。可以通过编辑此文件或使用 WMI API 来更新此文件。有关详细信息,请参阅 Reporting Services 身份验证的扩展保护和扩展保护故障排除 (Reporting Services)。
将报表服务器配置为使用 Windows 集成安全性
1在文本编辑器中打开 RSReportServerconfig。
2查找 <Authentication>。
3复制以下最能满足您的需要的 XML 结构之一。可以按任意顺序指定 RSWindowsNegotiate、RSWindowsNTLM 和 RSWindowsKerberos。如果要对连接而非每一单个请求进行身份验证,则应启用身份验证持久性。在身份验证持久性下,在连接期间将允许所有要求身份验证的请求。
当报表服务器服务帐户是 NetworkService 或 LocalSystem 时,第一个 XML 结构是默认配置:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate />
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
当报表服务器服务帐户不是 NetworkService 或 LocalSystem 时,第二个 XML 结构是默认配置:
<Authentication>
<AuthenticationTypes>
<RSWindowsNTLM />
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
第三个 XML 结构指定 Windows 集成安全性中使用的所有安全包:
<AuthenticationTypes>
<RSWindowsNegotiate />
<RSWindowsKerberos />
<RSWindowsNTLM />
</AuthenticationTypes>
第四个 XML 结构仅为不支持 Kerberos 的部署指定 NTLM,或解决 Kerberos 身份验证错误:
<AuthenticationTypes>
<RSWindowsNTLM />
</AuthenticationTypes>
4将其粘贴在 <Authentication> 的现有条目上。
注意,不能将 Custom 与 RSWindows 类型一起使用。
5根据需要适当修改扩展保护的设置。默认情况下,扩展保护处于禁用状态。如果这些条目不存在,则当前计算机运行的 Reporting Services 版本可能不支持扩展保护。有关详细信息,请参阅Reporting Services 身份验证的扩展保护。
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
6保存该文件。
7如果配置了扩展部署,请为该部署中的其他报表服务器重复这些步骤。
8重新启动报表服务器以清除当前打开的任何会话。
连接到报表服务器时纠正 Kerberos 身份验证错误
在为 Negotiate 或 Kerberos 身份验证配置的报表服务器上,如果出现 Kerberos 身份验证错误,则客户端与报表服务器的连接将失败。已知在以下情况下会出现 Kerberos 身份验证错误:
报表服务器服务作为 Windows 域用户帐户运行并且您没有为该帐户注册服务主体名称 (SPN)。
报表服务器是使用 RSWindowsNegotiate 设置配置的。
浏览器选择它发送给报表服务器的请求的身份验证标头中 NTLM 上的 Kerberos。
如果启用了 Kerberos 日志记录,则可以检测到该错误。另一错误症状是多次提示您输入凭据,然后您看到一个空的浏览器窗口。
可以通过从配置文件中删除 < RSWindowsNegotiate /> 并重新尝试建立连接来确认您遇到了 Kerberos 身份验证错误。
确认遇到该问题之后,可以采用下列方法解决它:
在域用户帐户下为报表服务器服务注册 SPN。有关详细信息,请参阅如何为报表服务器注册服务主体名称 (SPN)。
将服务帐户更改为在网络服务等内置帐户下运行。内置帐户将 >
使用 NTLM。通常,NTLM 将在 Kerberos 身份验证失败时发挥作用。若要使用 NTLM,从 RSReportServerconfig 文件中删除 RSWindowsNegotiate 并验证仅指定了 RSWindowsNTLM。如果选择此方法,则可以继续将域用户帐户用于报表服务器服务(即使没有为其定义 SPN)。
日志记录信息
多种日志记录信息源可以帮助解决与 Kerberos 相关的问题。
用户-帐户-控制属性
确定 Reporting Services 服务帐户在 Active Directory 中是否具有足够的属性集。检查 Reporting Services 服务跟踪日志文件,以找到为 UserAccountControl 属性记录的值。记录的值为十进制格式。您需要将十进制值转换为十六进制格式,然后在描述用户-帐户-控制属性的 MSDN 主题中找到该值。
Reporting Services 服务跟踪日志条目类似于以下内容:
appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336
用于将十进制值转换为十六进制格式的一个选项是使用 Microsoft Windows 计算器。Windows 计算器支持多种显示“十进制”选项和“十六进制”选项的模式。选择“十进制”选项,粘贴或键入在日志文件中找到的十进制值,然后选择“十六进制”选项。
然后,参阅主题用户-帐户-控制属性以导出服务帐户的属性。
在 Active Directory 中为 Reporting Services 服务帐户配置的 SPN。
若要在 Reporting Services 服务跟踪日志文件中记录 SPN,可以临时启用 Reporting Services 扩展保护功能。
通过设置以下内容修改配置文件 rsreportserverconfig:
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
重新启动 Reporting Services 服务并在跟踪日志文件中查找类似如下内容的条目:
rshost!rshost!e44!01/14/2010-14:43:51:: i INFO: Registered valid SPNs list for endpoint 2: rshost!rshost!e44!01/14/2010-14:43:52:: i INFO: SPN Whitelist Added <Explicit> - <>
<Explicit> 之下的值将包含在 Active Directory 中为 Reporting Services 服务帐户配置的 SPN。
如果不希望继续使用扩展保护,则将配置值重新设置为默认值,然后重新启动 Reporting Services 服务帐户。
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
有关详细信息,请参阅Reporting Services 身份验证的扩展保护。
浏览器如何选择协商 Kerberos 或协商 NTLM
使用 Internet Explorer 连接到报表服务器时,它将在身份验证标头中指定协商 Kerberos 或 NTLM。在以下情况下,使用 NTLM 而非 Kerberos:
将请求发送到本地报表服务器。
将请求发送到报表服务器计算机的 IP 地址而非主机标头或服务器名称。
防火墙软件阻塞了用于 Kerberos 身份验证的端口。
特定服务器的 *** 作系统不启用 Kerberos。
域中包括旧版 Windows 客户端和服务器 *** 作系统,不支持新版 *** 作系统中内置的 Kerberos 功能。
此外,Internet Explorer 还可能选择协商 Kerberos 或 NTLM,这取决于您如何配置的 URL、LAN 和代理设置。
报表服务器 URL
如果该 URL 包括完全限定域名,则 Internet Explorer 将选择 NTLM。如果该 URL 指定本地主机,则 Internet Explorer 选择 NTLM。如果该 URL 指定计算机的网络名称,则 Internet Explorer 将选择协商,这将会成功或失败,取决于报表服务器服务帐户是否存在 SPN。
客户端上的 LAN 和代理设置
在 Internet Explorer 中设置的 LAN 和代理设置可以确定是否在 Kerberos 上选择 NTLM。但是,由于各组织的 LAN 和代理设置会有所不同,因此不可能准确确定造成 Kerberos 身份验证错误的设置。例如,您的组织可能会强制实施将 URL 从 Intranet URL 转换为通过 Internet 连接解析的完全限定域名 URL 的代理设置。如果将不同的身份验证提供程序用于不同类型的 URL,则您可能会发现原本预计会失败的某些连接竟然成功了。
如果遇到您认为因身份验证失败而引起的连接错误,则可以尝试其他 LAN 与代理设置的组合来隔离该问题。在 Internet Explorer 中,LAN 和代理设置位于“局域网 (LAN) 设置”对话框中,可以通过单击“Internet 选项”的“连接”选项卡上的“LAN 设置”打开该对话框。
外部资源
有关 Kerberos 和报表服务器的更多信息,请参阅 Deploying a Business Intelligence Solution Using SharePoint, Reporting Services, and PerformancePoint Monitoring Server with Kerberos(通过 Kerberos 部署使用 SharePoint、Reporting Services 和 PerformancePoint Monitoring Server 的商业智能解决方案)。
评论列表(0条)