Partager via


解决 SharePoint 配置错误:无法连接到 server_name 上的 master 数据库

解决 SharePoint 配置错误:无法连接到 server_name 上的 master 数据库

大家好!我是 Reagan Templin,SharePoint Server IT 专业人员工作组中的一名新撰稿人。最近,我第一次使用 SharePoint Server 2010 设置我的测试环境。我让 SQL Server 计算机与 SharePoint Server 计算机分开,然后在我运行 SharePoint 产品配置向导时,在“指定配置数据库设置”页上遇到了以下阻止错误:

“无法连接到 <server_name> 上的 SQL Server 的 master 数据库。此数据库可能不存在,或当前用户没有连接权限。”

此错误一般表示您用于配置 SharePoint 的帐户没有足够的权限,无法连接到 SQL Server 计算机并完成配置。我返回 SQL Server 计算机并确认为 SharePoint 管理员帐户分配了正确的服务器角色,并且 master 数据库已存在。我还确认使用 SharePoint 管理员帐户登录到 SharePoint Server 计算机,因此配置应能够继续。不过,,配置仍无法继续,所以我花了一些时间来排查可能出现问题的其他地方。 最终,我发现是防火墙问题,它阻止访问 SQL Server 数据库引擎实例的端口。

下面是我配置环境所执行的操作和处理错误所执行的操作的摘要。希望这些内容可帮助可能遇到相同错误的其他人。

创建虚拟机

在此练习中,我使用 Hyper-V 承载虚拟机。我创建了两台新虚拟机:一个用于 SQL Server 计算机,一个用于 SharePoint Server 计算机。我为这两台计算机都安装了 Windows Server 2008 R2 Enterprise Edition(64 位)。我激活了 Windows、已安装的更新并将它们合并到我的测试域 contoso 中。然后,我拍摄了 Hyper-V 快照以保留任何其他安装或配置之前的映像。

配置帐户和权限

我按照“初始部署所需的管理和服务帐户 (SharePoint Server 2010)”(https://technet.microsoft.com/zh-cn/library/ee662513.aspx) 和“SharePoint 2010 的最小特权服务帐户”(https://www.sharepointproconnections.com/article/sharepoint/Least-Privilege-Service-Accounts-for-SharePoint-2010.aspx(该链接可能指向英文页面)) 中的信息在域中设置正确的帐户,并授予这些帐户推荐的访问权限以在相应环境中进行最小特权管理。

根据该信息,我在域控制器所在计算机上的 Active Directory 域服务中设置以下域帐户:

  •  contoso\reagant – 我的个人域帐户。这是我用于登录到 SQL Server 计算机来安装并配置它的帐户。此帐户除了属于 contoso 域的一部分之外,还是 SQL Server 计算机上本地 Administrators 组的成员。
  • contoso\SQLsvc – 我的 SQL Server 服务帐户。这是我在 SQL Server 安装过程中为 MSSQLSERVER 服务和 SQL Server Agent 服务指定的帐户。
  •  contoso\SPadmin – 我的 SharePoint 管理员帐户。这是我用于登录到 SharePoint Server 计算机来安装并配置 SharePoint Server 2010 的帐户。此帐户是 SharePoint Server 计算机上本地 Administrators 组的成员。在 SQL Server 中,它还是 SQL Server 中具有 dbcreatorsecurityadmin 服务器角色的登录帐户,这使得 SharePoint 产品配置向导能够运行并配置 SharePoint。
  • contoso\SPfarm – 我的 SharePoint 场帐户。这是我在 SharePoint 产品配置向导的“指定配置数据库设置”页上指定为 SharePoint 场管理员的帐户(又称为数据库访问帐户)。

安装并配置 SQL Server 2008 R2

我以 reagant 身份登录到 SQL Server 计算机并安装了 SQL Server 2008 R2。对于 MSSQLSERVER 和 SQL Server Agent 服务,我提供了 SQLsvc 域帐户凭据并将我的 reagant 帐户添加为 SQL Server 数据库引擎的管理员。然后,我完成了 SQL Server 安装过程。

安装 SQL Server 后,我打开了 SQL Server Management Studio 并连接到 SQL Server 数据库引擎的默认实例。我在 SQL Server 中为 SPadmin 域帐户创建了登录,并授予它对 dbcreatorsecurityadmin 服务器角色的访问权限。然后,我关闭了 Management Studio。

安装 SharePoint Server 2010

我以 SPadmin 身份登录到 SharePoint Server 计算机,然后安装 SharePoint Server 2010 必备组件并运行 SharePoint Server 2010 安装程序。

运行 SharePoint 产品配置向导

在安装 SharePoint Server 2010 后,我运行了 SharePoint 产品配置向导。我选择了创建新服务器场的选项。在“指定配置数据库设置”页上,我指定了 SQL Server 计算机名称、配置数据库的名称和 SPfarm 域帐户凭据。不过,当我单击“下一步”时,我收到错误:“无法连接到 <server_name> 上的 SQL Server 的 master 数据库 。此数据库可能不存在,或当前用户没有连接权限。”

我返回并确认我成功安装了 SQL Server 并且我的帐户和权限的配置正确。在进行一些尝试和遇到错误后,我想起另一个产品的问题,即 SQL Server 计算机上的 Windows 防火墙阻止流量传送到运行 SQL Server 数据库引擎的实例的端口。默认情况下,SQL Server 运行在端口 1433 上,并且在我的简单测试环境中,我始终在默认端口上运行它。在 SQL Server 计算机上,我打开了包含高级服务的 Windows 防火墙并添加了一条允许流量通过端口 1433 的入站规则。如果您没有使用默认端口,请为您要在所需环境中使用的端口创建入站规则。

当我返回以运行 SharePoint 产品配置向导时,我不再遇到错误消息,配置能够继续。有关为 SQL Server 配置 Windows 防火墙的详细信息,请参阅“如何为数据库引擎访问配置 Windows 防火墙”(https://technet.microsoft.com/zh-cn/library/ms175043.aspx)。

这是一篇本地化的博客文章。请访问 Troubleshooting SharePoint configuration error: Cannot connect to database master at server_name 以查看原文

Comments

  • Anonymous
    March 22, 2012
    不知道博主所说的在配置sql server的时候,如何使用域帐户来运行server服务和agent服务,我的总是显示凭据无效