原因有很多:
SQL 数据库和服务已关闭。
SQL 数据库可能未正确运行
您应用了修补程序或服务包,但没有重新启动。
防火墙阻止通信
SharePoint 安装帐户没有 SQL Server 数据库所需的权限。
SharePoint Server 和 SQL Server 之间的网络连接不是最佳的。
故障排除步骤
- 检查日志:
查看位于 C:\program files\common files\Microsoft shared\web server extensions\15 或 \14 的 PSCDiagnostics 日志以获取 SharePoint 日志
这是您可能会收到更多信息的类型错误:System.Data.SqlClient.SqlException was throwed。其他异常信息:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
- 验证 SQL 数据库是否正在运行和服务。
在服务列表中,找到 MSSQLSERVER 服务并确保它正在运行。
甚至要确保在 Microsoft SQL Server 上正在运行以下服务:
SQL 浏览器(如果您没有使用默认实例名称)
所有其他 SQL 服务
3.防火墙
防火墙可以阻止与您的 Microsoft SQL Server 的访问和通信,因此您有两种可能性。
禁用防火墙,这是开发机器上最简单的方法,但不安全,建议用于生产环境。
因此,您可以在防火墙上创建 2 条规则:
一个带有端口的入站 TCP 规则:1433,2383,2382
一个带有端口的入站 UPD 规则:1434
1433:SQL Server 是一个 Winsock 应用程序,它使用套接字网络库通过 TCP/IP 进行通信。 SQL Server 侦听特定端口上的传入连接。 SQL Server 的默认端口是 1433。端口不必是 1433,但 1433 是 SQL Server 的官方 Internet 分配号码授权 (IANA) 套接字号。
2383:安装默认实例或创建 Analysis Services 故障转移群集时,应打开 TCP 端口 2383。
2382:安装命名实例时应打开 TCP 端口 2382。命名实例使用动态端口分配。作为 Analysis Services 的发现服务,SQL Server Browser 服务侦听 TCP 端口 2382,并将连接请求重定向到 Analysis Services 当前使用的端口。
1434:客户端计算机需要打开一个随机的 UDP 端口,服务器 UDP 端口 1434 将用于发送实例名称,如果实例是集群的,SQL 实例的版本,TCP 端口号实例正在侦听,以及实例正在使用的命名管道。但是,如果目标是尽量减少防火墙上打开的端口数,则应为默认实例和任何命名实例选择静态端口号。需要将客户端计算机配置为连接到特定的 ServerName 或 ServerName 实例和特定的端口号。
- 您的 SQL 配置是否正确?
实际上您的 SQL 服务器设置正确吗?您确定您执行的步骤吗?如果没有,请在此处查看。所有这些链接都是官方 TechNet 文章:
安装方法主题 此链接在 TechNet Wiki 外部。它将在新窗口中打开。
在 Server Core 上安装 SQL Server 2012 此链接位于 TechNet Wiki 外部。它将在新窗口中打开。
验证 SQL Server 安装 此链接在 TechNet Wiki 外部。它将在新窗口中打开。
检查系统配置检查器的参数 此链接在 TechNet Wiki 外部。它将在新窗口中打开。
SQL Server 2012 安装中的产品更新 此链接位于 TechNet Wiki 外部。它将在新窗口中打开。
将 Windows 防火墙配置为允许 SQL Server 访问 此链接在 TechNet Wiki 外部。它将在新窗口中打开。
- 用户权限
接下来,您必须验证您的帐户是否拥有 SQL Server 数据库所需的权限。
单击开始,指向程序,指向 Microsoft SQL Server,然后单击企业管理器
在左窗格中,双击 Microsoft SQL Servers,然后双击您的 SQL 服务器组。
双击您的服务器。
双击安全。
在左窗格中,单击登录。
在右窗格中,双击 Farm Admin Global Administrator 的用户。
在 SQL Server 登录属性对话框中,单击服务器角色。
并选择以下选项:安全管理员和数据库创建者复选框,然后单击数据库访问。
- 他们可以互相交谈吗?
验证 SharePoint 是否为 SQL 服务器使用了正确的 IP 地址。为此,请在 Windows SharePoint Services 服务器上运行 ping 命令。
验证 SharePoint 服务器是否从 DNS 获取 SQL 服务器的正确 IP 地址。为此,请从 SharePoint Server 运行 nslookup 命令。
确保 SQL Server 没有不正确的条目。为此,请检查 SharePoint 服务器上的 Hosts 文件。该文件位于以下位置:
%systemroot%\system32\drivers\etc\Hosts
在 SharePoint 服务器上,查找 SQL 客户端别名。为此,请按照下列步骤操作: 单击
开始,单击运行,然后在打开的框中键入 cliconfg。
单击别名选项卡。默认情况下,没有 SQL 客户端别名。如果您有 SQL Server 的任何别名,请验证它们是否正确,或删除它们。
打开 SQL Server 配置管理器(启动 SQL Server 2008 配置工具 SQL Server 配置管理器
导航到树视图中 MSSQLSERVER 节点的 SQL Server 网络配置协议
启用 TCP/IP 和命名管道(系统会警告您,这些更改在服务关闭之前不会应用)
- SID
请确保如果您制作了之前使用 sysprep 的虚拟机的副本,以避免获得相同的 SID!如果不是这种情况,您可以使用 PSTOOLS 进行更改。
首先,单击开始->运行,键入 sysprep 并按确定。
这将打开位于 c:\Windows\System32 中的 sysprep 文件夹。打开 sysprep 应用程序。
这将打开 System Preparation Tool 3.14 窗口。作为系统清理操作,选择进入系统开箱即用体验 (OOBE)。重要提示:如果要更改 SID,请选择 generalize,默认不选择。作为关机选项选择重新启动。
重启后,您必须输入一些数据,例如国家或地区、时间和货币以及键盘输入。
- 重置数据库连接超时并且您的数据库是最新的
关注 http://technet.microsoft.com/en-us/library/cc263314.aspx http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png 此链接在 TechNet Wiki 外部。它将在新窗口中打开。并使用下一个命令将超时更改为 45:stsadm -o setproperty -pn database-connection-timeout -pv 45
单击开始,单击运行,在打开框中键入 cmd,然后单击确定。
切换到以下目录:系统驱动器\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Bin
运行以下命令:
psconfig -cmd 升级 -inplace b2b
在 SQL Server 配置管理器的控制台窗格中,展开 SQL Server 网络配置,展开协议,然后双击 TCP/IP。
如果 TCP 动态端口对话框包含 0,表示数据库引擎正在侦听动态端口,请删除 0。
如果 TCP 端口框不是 1433,请键入端口号 1433,然后单击确定。
在控制台窗格中,单击 SQL Server 服务。
在详细信息窗格中,右键单击 SQL Server (),然后单击重新启动,以停止并重新启动 SQL Server。
- 为 SQL Server 数据库引擎分配 TCP/IP 端口号
在 SQL Server 配置管理器的控制台窗格中,展开 SQL Server 网络配置,展开协议,然后双击 TCP/IP。
如果 TCP 动态端口对话框包含 0,表示数据库引擎正在侦听动态端口,请删除 0。
如果 TCP 端口框不是 1433,请键入端口号 1433,然后单击确定。
在控制台窗格中,单击 SQL Server 服务。
在详细信息窗格中,右键单击 SQL Server (),然后单击重新启动,以停止并重新启动 SQL Server。
- SharePoint 管理帐户:本地管理员
安装帐户用于通过运行 SharePoint 配置向导、初始场创建向导和 Windows PowerShell 来设置场中的每台服务器。对于设置用户管理员帐户中的示例用于场管理,您可以使用管理中心对其进行管理。某些配置选项(例如,SharePoint 2013 搜索查询服务器的配置)需要本地管理权限。设置用户管理员帐户需要以下权限:
它必须具有域用户帐户权限。
它必须是 SharePoint 场中每台服务器上本地管理员组的成员,不包括运行 SQL Server 和简单邮件传输协议 (SMTP) 服务器的服务器。
请检查:http://social.technet.microsoft.com/wiki/contents/articles/6545.aspx