如何使MS SQL Server可用于连接?

我正在尝试从Java程序连接到MS SQL Server(在我的机器上运行)。 我得到了以下冗长的例外情况:

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".

当我检查“属性”并在MS SQL的对象资源管理器中单击“查看连接属性”时,我发现“服务器不可用”。 这似乎与exception消息有关。

如何使服务器可用?

编辑:

我正在使用SQL Server 2008,现在我已经启用了TCP / IP,并重新启动了我的实例。 我仍然被告知“服务器不可用”。

还有其他想法吗?

我也遇到了这个问题。 MSKB文章适用于SQL Server 2005。

由于“SQL Server表面区域配置”工具已被取代而不是“Facets” – 这对我来说并不明显。

我通过设置TCPAll端口并启用相关IP解决了这个问题。


脚步

  1. 打开Sql Server配置管理器(开始 – >程序 – > Microsoft SQL Server 2008 – >配置工具)

  2. 展开SQL Server网络配置 – > [您的服务器实例]

  3. 双击TCP / IP

    • 根据议定书

      确保已启用

    • IP地址下

      滚动到底部并在IPAll下设置TCP端口(默认为1433)

      找到要连接的IP地址,并将“已启用”和“ 活动 设置为“ 是”

在搞乱连接之前,首先检查SQL Server服务是否实际运行。

您可以使用SQL Server配置管理器(位于配置工具文件夹中)或Windows控制面板中的标准服务控制台执行此操作。

检查服务已启动并运行后,您需要确保已将SQL Server配置为允许远程连接。

有关如何执行此操作的说明,请参见下文:

http://support.microsoft.com/kb/914277

我使用SQL Server 2012并遇到了同样的问题。

请注意,当您激活TCP / IP时,有2个选项:

  • Active - YES – 如果您只是单击是,它将无法正常工作
  • Enabled – 也请单击“是”。 我没有注意到这一点,并且想知道为什么它不起作用,在这个过程中浪费了很多时间

您可以使用以下方法测试侦听端口:

 netstat -an 

根据您使用的SQL Server版本,默认情况下可能只设置为使用命名管道。

您需要启用到服务器的TCP / IP连接。 如果您可以告诉我们您正在使用哪个版本的SQL服务器,我们可以提供有关如何启用TCP / IP的更精确说明。

像往常一样,检查一下:1。查看路由器是否启用了端口1433和1434(这些是IP / UDP通信的默认设置)2。确保如果客户端或服务器上有防火墙,说端口没有被阻塞(这是我的“陷阱”)。 3.进入Sql Configuration Manager并在Sql Server网络配置下,确保已启用TCP / IP。 此外,在Sql Native Client 1.0(如果已安装)下的同一程序中,它也启用了TCP / IP。

确保所有连接信息正常工作的廉价而简单的方法是创建.udl文件(系统中的任何位置),填写相应的信息并点击“测试连接”。 如果那里有什么问题,你会得到一个(相当)信息性的消息。 如果您不了解.udl文件,请右键单击Windows资源管理器(右侧窗格)以创建“新文本文件”。 键入任何可接受的名称,但将扩展名从.txt更改为.udl。 系统会要求您确认扩展更改,回答是。 创建后,单击该文件(如果不使用单击,则单击双击)以打开它。 共有4个标签。 第一个允许您选择提供者。 对于Visual Studio使用Sql Native客户端,对于任何其他程序,请尝试使用标准的Sql Server Provider。 在第二个选项卡上,您可以填写服务器名称,sql server用户名和密码(如果使用)等。然后测试连接。 另外一项需要注意的事项 – 如果您使用的是Windows身份validation,请确保已将这些用户添加到服务器登录中。

打开Sql Server配置管理器。 (开始|程序|无论什么版本的sql server |配置工具)

浏览到“SQL Server服务”并重新启动您的实例。 但是,您可以通过右键单击实例并选择重新启动来在Management Studio中执行此操作。

如果重新启动失败,请查看计算机管理| 事件查看器| 应用程序并查找sql​​ server事件。 它会在这里记录成功和错误消息。

这是我的截图。 如果您无法阅读单词,请下载图像或将图像复制并粘贴到Paint中。

里面的Glassfish:

“常规选项卡:

在此处输入图像描述

“其他属性”选项卡

URL = jdbc:sqlserver:// localhost; databaseName = NETEAV

在此处输入图像描述

在Microsoft SQL Server Management Studio中:

在此处输入图像描述

检查连接是否被防火墙阻止。 如果第三方防火墙处于活动状态,则可能会阻止TCP连接。 在此步骤之后 –
1.检查TCP是否已启用
一个。 打开SQL Server配置管理器
湾 SQL Server网络配置
C。 MSSQLSERVER的协议
d。 TCP – 启用它
即 还要检查全部听 – 是的
F。 在IP地址选项卡中,IPAll – 端口号应为1433

首先,检查sql server服务是否正在运行。 如果您使用的是SQL 2005或2008,请检查Configuration Manager(2008)或Surface是配置工具(2005)以确保启用TCP / IP协议并允许TCP / IP连接。 使用SSE(快速),默认情况下这些都会关闭,这会导致您的问题。 另外,如果您正在运行多个实例,则可能需要运行SQL浏览器服务。 如果是这种情况,您应该能够使用(本地)作为服务器地址来连接对象资源管理器,因为这将使用本地/共享内存连接。

从2005年起, SQL服务器浏览器服务已经开始运行。
那个骗了我很多次。

连接到SQL Server 2014时发现相同的错误。

我登录了sql server以确保设置了正确的端口号。
对于我的情况,没有为sql实例设置端口号。

因此,我从连接字符串url中删除了端口号,然后我就可以连接了。

任何人都面临这个问题,可以这样试试