Can't connect to localhost on SQL Server Express 2012 / 2016

我刚刚下载了 SQLExpress2012的最新版本,但是我无法连接到本地主机。我尝试了本地主机 SQLExpress 和 Windows 身份验证,但它给我一个错误消息说无法连接。我错过了什么吗?我以前使用过 SQLServer2008,从未出现过连接到本地主机的问题。看起来它甚至找不到它。而且在服务中我只看到一个 SQLServerVSSWriter。是不是应该这样?还是我错过了什么?谢谢

496140 次浏览

According to Aaron Bertand:

  1. 您需要验证 SQLServer 服务是否正在运行。为此,可以转到 Start > Control Panel > Administrative Tools > Services,并检查服务 SQLServer (SQLEXPRESS)是否正在运行。如果没有,就开始。

  2. 在使用服务 applet 时,还要确保启动了服务 SQL 浏览器

  3. 您需要确保允许 SQLServer 使用 TCP/IP 或命名管道。可以通过在 Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(或 SQL Server Configuration Manager)和 确保启用了 TCP/IP 和命名管道中打开 SQLServer 配置管理器来打开这些选项。如果在“开始”菜单中找不到 SQLServer 配置管理器,可以手动启动 MMC 管理单元。根据您的版本检查 SQLServer 配置管理器以获得管理单元的路径。

    SQL Server Configuration Manager

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

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

      -- 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
      
    • If you're connecting using "Integrated Security=true" (Windows Mode), and this error only comes up when debugging in web applications, then you need to add the ApplicationPoolIdentity as a SQL Server login:
  5. otherwise, run Start -> Run -> Services.msc If so, is it running?

If it's not running then

It sounds like you didn't get everything installed. Launch the install file and chose the option "New installation or add features to an existing installation". From there you should be able to make sure the database engine service gets installed.

我也遇到过类似的问题——也许我的解决方案会有所帮助。我刚刚安装了 MSSQLEX2012(默认安装) ,并试图连接到 VS2012EX。没有发现。然后我查看了这些服务,确认 SQLServer (SQLEXPRESS)确实在运行。

但是,我看到了另一个有趣的服务,名为 SQLServerBrowser,它被禁用了。我启用它,激活它,然后能够在 VS2012EX 中的一个新连接中检索服务器名称并连接。

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

真奇怪,我也有类似的问题。我使用工具下载了 SQL2012Express 的包,但是没有安装数据库引擎。

我从 MS 站点下载了另一个,这个安装了数据库引擎。重新启动之后,列出了服务并准备启动。

我的情况

  • SQLServerManagementStudio 中的空实例名 > 选择数据库引擎 > 鼠标右键 > 属性(服务器属性) > 链接视图连接属性 > 产品 > 实例名为空

  • Data Source = . SQLEXPRESS did not work = > use localhost in web.config (参见下文)

解决方案 : 在 web.config 中

Xxxxxx = 没有. mdf 的数据库名称 yyyyyy = name of my database in VS2012 database explorer

您可以通过在连接字符串中的服务器名称前缀 TCP: 或者使用 localhost 来强制使用 TCP 而不是共享内存。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

我遇到了同样的问题,并且在安装了 SQL 2012的更新之后发现了这个问题。对我来说,修复它的方法是进入程序和特性,并对其进行修复。

尝试将 Windows 身份验证更改为混合模式

Goto Start-> Programs-> Microsoft SQL ServerYYYY-> Configuration Tools-> SQL Server YYYY Configuration Manager or run“ SQLServerManager12.msc”。

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

Then go into "SQL Server Network Configuration" and double click TCP/IP. Click the "IP Addresses" tab and scroll to the bottom. Under "IP All" remove TCP Dynamic Ports if it is present and set TCP Port to 1433. Click OK and then go back to "SQL Server Services" and restart SQL Server instance. Now you can connect via localhost, at least I could.

enter image description here

请注意,当从其他应用程序连接时,当然也会发生此错误。例如一个普通的 C # web 应用程序 Web.config连接字符串:

<connectionStrings>
<add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

首先选中 SQLServer 服务正在运行或已停止,如果已停止,则启动它。.只要按照下面的步骤。

1. Start-> Run-> Services.msc

enter image description here

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

"SQL2014" is given By me, it may be Another Name in your case

enter image description here

一旦启动了 SQL 服务,就可以连接本地数据库了。

希望能帮到某人。

在2012年 SQL Server Express,应使用“(localdb) MSSQlLocalDB”作为数据源名称 例如,您可以像下面这样使用连接字符串

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;

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

如果您从本地主机到数据库的连接仍然失败,并出现类似下面的错误:

无法连接到 SQLServerDB。错误: 到主机[ IP 地址]的 TCP/IP 连接端口1433失败。错误:”连接被拒绝: 连接。验证连接属性。确保 SQLServer 实例正在主机上运行,并在端口接受 TCP/IP 连接。确保 TCP 到端口的连接没有被防火墙阻塞。”

  1. 打开 SQLServer 配置管理器。
  2. 展开有问题的服务器实例的 SQLServer 网络配置。
  3. 双击“ TCP/IP”。
  4. Under the "Protocol" section, set "Enabled" to "Yes".
  5. 在“ IP 地址”部分下,将 TCP 端口设置为“ IP All”(默认为1433)。
  6. 在“ IP 地址”部分中,查找 IP 地址为127.0.0.1(用于 IPv4)和: : 1(用于 IPv6)的子节,并将“ Enable”和“ Active”设置为“ Yes”,TCP 端口设置为1433。

    TCP/IP Properties

  7. 转到 Start > Control Panel > Administrative Tools > Services,并重新启动 SQLServer 服务(SQLEXPRESS)。

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

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

enter image description here

对我来说,问题是我没有指定 .\,我只是指定了实例的名称:

  • 没有工作: SQL2016
  • worked: .\SQL2016

尝试将拥有该服务的用户更改为 LocalSystem 或使用您的管理员帐户。

在服务下,我将 ServiceSQLServer (MSSQLSERVER)登录从 NTServiceSql... 更改为本地系统。右键单击该服务并转到登录选项卡并选择单选按钮 LocalSystemAccount。你也可以强迫另一个用户运行它太,如果这更适合。

After doing the steps which were mentioned by @Ravindra Bagale, 试试这一步。 Server name: localhost\{Instance name you were gave}

enter image description here