无法在SQL Server Express 2012/2016上连接到localhost

did*_*ido 93 c# sql-server-2012-express sql-server-2016-express

我刚下载了最新版本的SQL Express 2012但我无法连接到localhost.我尝试了localhost\SQLExpress和Windows身份验证,但它给出了一条错误消息,指出无法连接.我在这里错过了什么吗?我之前使用过SQL Server 2008,并且从未遇到过连接到localhost的问题.它似乎甚至找不到它.同样在服务中我只看到一个SQL Server VSS编写器.它应该是这样的吗?或者我错过了什么?谢谢

Rav*_*ale 165

根据Aaron Bertand的说法:

  1. 您需要验证SQL Server服务是否正在运行.您可以通过转到Start > Control Panel > Administrative Tools > Services并检查服务SQL Server(SQLEXPRESS)是否正在运行来执行此操作.如果没有,请启动它.

  2. 当您在服务小程序中时,还要确保启动服务SQL浏览器.如果没有,请启动它.

  3. 您需要确保允许SQL Server使用TCP/IP或命名管道.您可以通过在Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(或SQL Server Configuration Manager)中打开SQL Server配置管理器来打开它们,并确保启用了TCP/IP和命名管道.

    SQL Server配置管理器

  4. 验证SQL Server连接身份验证模式是否与连接字符串匹配:

    • 如果使用用户名和密码进行连接,则需要将SQL Server配置为接受"SQL Server身份验证模式":

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
      
      Run Code Online (Sandbox Code Playgroud)
    • 如果使用"Integrated Security = true"(Windows模式)进行连接,并且仅在Web应用程序中进行调试时出现此错误,则需要将ApplicationPoolIdentity添加为SQL Server登录名:
  5. 否则,运行Start -> Run -> Services.msc如果是,它是否正在运行?

如果它没有运行那么

听起来你没有安装好所有东西.启动安装文件并选择"新安装或向现有安装添加功能"选项.从那里你应该能够确保安装数据库引擎服务.

  • 另一件需要检查的是实例名称.根据SQL Server的安装方式,您可能需要也可能不需要在主机之后提供实例名称. (3认同)
  • @dido:开始 - >运行> SERVICES.MSC (2认同)
  • 这很愚蠢,但对我来说,问题是使用“ localhost”作为服务器名称,而不是安装中设置的“ localhost \ SQLEXPRESS01” (2认同)

Ogg*_*las 113

转到开始 - >程序 - > Microsoft SQL ServerYYYY - >配置工具 - > SQL Server YYYY配置管理器或运行"SQLServerManager12.msc".

确保在客户端协议下启用了TCP/IP.

然后进入"SQL Server网络配置"并双击TCP/IP.单击"IP地址"选项卡并滚动到底部.在"IP All"下,删除TCP动态端口(如果存在)并将TCP端口设置为1433.单击"确定",然后返回"SQL Server服务"并重新启动SQL Server实例.现在你可以通过localhost连接,至少我可以.

在此输入图像描述

  • 最后,这对我有用!我更改了IP1,IP2中的端口,但不是IPAll中的端口.这样做了,谢谢! (4认同)
  • @George与你完全一样.我甚至禁用了防火墙,没有任何效果.TCP动态端口中有一个*40xxx*端口.我删除它,并将1433放入TCP端口用于IPAll,这也做到了.谢谢! (2认同)

小智 12

在SQL SERVER EXPRESS 2012中你应该使用"(localdb)\ MSSQLLocalDB"作为数据源名称,例如你可以使用这样的连接字符串

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
Run Code Online (Sandbox Code Playgroud)

  • 伟大的!当本地主机不起作用时,使用 (localdb)\MSSQLLocalDB 可以连接到 SSMS (3认同)

小智 10

我有类似的问题 - 也许我的解决方案会有所帮助.我刚刚安装了MSSQL EX 2012(默认安装)并尝试连接VS2012 EX.没有快乐.然后我查看了服务,确认SQL Server(SQLEXPRESS)确实正在运行.

但是,我看到另一个名为SQL Server Browser的有趣服务已被禁用.我启用它,解雇它然后能够在VS2012 EX的新连接中检索服务器名称并连接.

奇怪的是他们会禁用VS连接所需的服务.


Moh*_*que 8

完成@Ravindra Bagale提到的步骤后,尝试此步骤。 Server name: localhost\{Instance name you were gave}

在此输入图像描述


naX*_*aXa 7

首先尝试Ravindra Bagale提供的最流行的解决方案.

如果从localhost到数据库的连接仍然失败,并且出现类似于以下内容的错误:

无法连接到SQL Server DB.错误:与主机[IP地址],端口1433的TCP/IP连接失败.错误:"连接被拒绝:连接.验证连接属性.确保主机上正在运行SQL Server实例并接受端口上的TCP/IP连接.确保防火墙不阻止与端口的TCP连接".

  1. 打开SQL Server配置管理器.
  2. 展开有问题的服务器实例的SQL Server网络配置.
  3. 双击"TCP/IP".
  4. 在"协议"部分下,将"已启用"设置为"是".
  5. 在"IP地址"部分下,将TCP端口设置为"IP All"(默认为1433).
  6. 在"IP地址"部分下,找到IP地址为127.0.0.1(对于IPv4)和:: 1(对于IPv6)的子部分,并将"已启用"和"活动"都设置为"是",将TCP端口设置为1433.

    TCP/IP属性

  7. 转到Start > Control Panel > Administrative Tools > Services,然后重新启动SQL Server服务(SQLEXPRESS).


con*_*att 7

我所有的服务都按预期运行,但我仍然无法连接。

我必须为我的 SQL Server Express 协议更新SQL Server 配置管理器中的 TCP/IP 属性部分,并将IPALL端口设置为 1433,以便按预期连接到服务器。

在此处输入图片说明


PK-*_*825 6

首先检查SQL Server服务是否正在运行或停止,如果它已停止,只需启动它,执行此操作.请按照以下步骤操作.

1.Start - > Run - > Services.msc

在此输入图像描述

  1. 转到服务面板中的标准选项卡,然后搜索SQl Server(SQL2014)

"SQL2014"由我提供,在您的情况下可能是另一个名称

在此输入图像描述

这就是一旦你启动SQL服务,你就可以连接本地数据库了.

希望它会帮助某人.