我刚刚下载了最新版本的SQL Express 2012但我无法连接到localhost。我尝试了localhost \ SQLExpress和Windows身份验证,但它给出了一条错误消息,指出无法连接。我在这里错过了什么吗?我之前使用过SQL Server 2008,并且从未遇到过连接到localhost的问题。它似乎甚至找不到它。同样在服务中我只看到一个SQL Server VSS编写器。它应该是这样的吗?或者我错过了什么?感谢
答案 0 :(得分:155)
您需要验证SQL Server服务是否正在运行。您可以通过转到Start > Control Panel > Administrative Tools > Services
并检查服务SQL Server(SQLEXPRESS
)是否正在运行来执行此操作。如果没有,请启动它。
当您进入服务小程序时,还要确保已启动服务SQL Browser。如果没有,start it。
您需要确保允许SQL Server使用TCP / IP或命名管道。您可以通过在Start > Programs > Microsoft SQL Server 2012 > Configuration Tools
(或SQL Server Configuration Manager
)和make sure that TCP/IP and Named Pipes are enabled中打开SQL Server配置管理器来启用这些功能。
验证您的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
否则,运行Start -> Run -> Services.msc
如果是,它是否正在运行?
如果它没有运行那么
听起来你没有安装好所有东西。启动安装文件并选择“新安装或向现有安装添加功能”选项。从那里你应该能够确保安装数据库引擎服务。
答案 1 :(得分:105)
转到开始 - >程序 - > Microsoft SQL ServerYYYY - >配置工具 - > SQL Server YYYY Configuration Manager或运行“SQLServerManager12.msc”。
确保在客户端协议下启用了TCP / IP。
然后进入“SQL Server网络配置”并双击TCP / IP。单击“IP地址”选项卡并滚动到底部。在“IP All”下,删除TCP Dynamic Ports(如果存在)并将TCP Port设置为1433.单击OK,然后返回“SQL Server Services”并重新启动SQL Server实例。现在你可以通过localhost连接,至少我可以。
请注意,当从其他应用程序连接时,当然也会发生此错误。普通C#Web应用程序Web.config
连接字符串的示例:
<connectionStrings>
<add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
答案 2 :(得分:11)
在SQL SERVER EXPRESS 2012中,您应该使用“(localdb)\ MSSQLLocalDB”作为数据源名称 例如,您可以使用像这样的连接字符串
Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
答案 3 :(得分:10)
我有类似的问题 - 也许我的解决方案会有所帮助。我刚刚安装了MSSQL EX 2012(默认安装)并尝试连接VS2012 EX。没有快乐。然后我查看了服务,确认SQL Server(SQLEXPRESS)确实正在运行。
但是,我看到另一个名为SQL Server Browser的有趣服务已被禁用。我启用它,解雇它,然后能够在VS2012 EX的新连接中检索服务器名称并连接。
奇怪的是他们会禁用VS连接所需的服务。
答案 4 :(得分:7)
首先尝试Ravindra Bagale提供的最受欢迎的解决方案。
如果从localhost到数据库的连接仍然失败,错误类似于以下内容:
无法连接到SQL Server数据库。错误:与主机[IP地址],端口1433的TCP / IP连接失败。错误:&#34;连接被拒绝:连接。验证连接属性。确保主机上正在运行SQL Server实例并接受端口上的TCP / IP连接。确保防火墙不阻止与端口的TCP连接。&#34;
在&#34; IP地址&#34;部分,找到IP地址为127.0.0.1(对于IPv4)和:: 1(对于IPv6)的子部分,并设置&#34;已启用&#34;和&#34;活跃&#34;到&#34;是&#34;,TCP端口到1433。
转到Start > Control Panel > Administrative Tools > Services
,然后重新启动SQL Server服务(SQLEXPRESS
)。
答案 5 :(得分:6)
首先检查SQL Server服务是否正在运行或停止,如果它刚刚启动,则执行此操作。请执行以下步骤。
1.开始 - &gt;运行 - &gt; Services.msc
答案 6 :(得分:3)
我所有的服务都按预期运行,但是我仍然无法连接。
我必须为我的SQL Server Express协议更新 SQL Server配置管理器中的TCP / IP属性部分,并将 IPALL 端口设置为1433,以便按预期连接到服务器。
答案 7 :(得分:2)
尝试从Windows身份验证更改为混合模式
答案 8 :(得分:1)
这很奇怪我有类似的问题。我使用Tools下载了SQL 2012 Express的软件包,但未安装数据库引擎。
我从MS站点上载了另一个,这个安装了数据库引擎。重新启动后,列出了服务并准备就绪。
答案 9 :(得分:1)
我的情况
SQL Server Management Studio中的空实例名称&gt;选择您的数据库引擎&gt;右键鼠标&gt;属性(服务器属性)&gt;链接视图连接属性&gt;产品&gt;实例名称为空
数据源=。\ SQLEXPRESS不起作用=&gt;在web.config中使用localhost(见下文)
解决方案:在web.config中
xxxxxx =没有.mdf的数据库的名称 yyyyyy = VS2012数据库资源管理器中我的数据库的名称
您可以强制使用TCP而不是共享内存,方法是将tcp:添加到连接字符串中的服务器名称前,或者使用localhost。
答案 10 :(得分:1)
我遇到了同样的问题,我发现这是在我为SQL 2012安装更新后发生的。为我修复的是进入程序和功能并对其进行修复。
答案 11 :(得分:1)
对我来说,问题是我没有指定.\
。我只是指定实例的名称:
SQL2016
.\SQL2016
答案 12 :(得分:0)
尝试将拥有服务的用户更改为本地系统或使用您的管理员帐户。
在服务下,我将服务SQL Server(MSSQLSERVER)登录从NT Service \ Sql ...更改为本地系统。右键单击该服务,然后转到“登录”选项卡,然后选择“本地系统帐户”单选按钮。如果合适的话,您也可以强迫另一个用户也运行它。
答案 13 :(得分:0)