如何连接到SQL Server 2008 Express的本地实例


222

我刚刚在Vista SP1计算机上安装了SQL Server 2008 Express。我以前在这里安装了2005,并在旧的SQL Server Management Studio Express中使用了它。我能够毫无问题地连接到我的PC-NAME \ SQLEXPRESS实例(不,PC-NAME不是我的计算机名;-)。

我卸载了2005和SQL Server Management Studio Express。然后,我在计算机上安装了SQL Server 2008 Express,并选择让它安装SQL Server Management Studio Basic。

现在,当我尝试连接到PC-NAME \ SQLEXPRESS(像往常一样使用Windows身份验证)时,收到以下消息:

无法连接到PC-NAME \ SQLEXPRESS。建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。(提供者:SQL网络接口,错误:26-错误指定服务器/实例的位置)(Microsoft SQL Server,错误:-1)有关帮助,请单击:http : //go.microsoft.com/fwlink?ProdName= Microsoft+SQL + Server&EvtSrc = MSSQLServer&EvtID = -1&LinkId = 20476

安装SQL Server 2008时,我使用SQLEXPRESS作为本地实例名称。据我所知,通过SQL Server配置管理器,SQL Server配置为允许远程连接。

当我转到其中提到的帮助链接时,帮助页面会提出以下建议:

  • 确保在服务器上启动了SQL Server浏览器服务。
  • 使用SQL Server外围应用配置器工具,可以使SQL Server接受远程连接。有关SQL Server外围应用配置器的更多信息,请参见服务和连接的外围应用配置。

好吧,据我所知,我的系统上没有SQL Server Browser服务(在MMC中查找了一项,找不到了)。

而且,SQL Server 2008中不存在SQL Server外围应用配置器工具。在您的帮助文档中,Microsoft ;-)很好。

我不知道该怎么办。升级到2008年之后,我有很多工作希望在今天完成(与我一起工作的人可以毫无问题地启动并运行它,并告诉我这很容易-他在处理数据库方面也要好得多上午)。有人知道什么地方可能出问题吗?我真的很感激。如果几个小时后仍无法正常工作,我将返回到SQL Server 2005(如果可以正常使用,等等)。

编辑:我曾尝试关闭Windows防火墙,但没有帮助。另外,我注意到我在SQL Server 2008安装目录树下没有“数据”目录-安装时是否可能设置错误?

Answers:


328

请检查您提供的ServerName。它应该与UserName文本框中显示的以下名称匹配,并且该名称后面应带有\SQLEXPRESS

连接对话框


30
这个问题已有2年历史了,但这对我有所帮助。我不知道在\SQLEXPRESS
RoLYroLLs 2011年

6
我知道这个问题已经很久了,但经过无奈后才发现。我认为错误消息应该提出此建议,而不是提供无用的信息:(
mob1lejunkie 2011年

谢谢!域名是我真正需要的。
鲁本斯·马里努佐

不敢相信下拉列表中只填充了不起作用的SQLEXPRESS
Nicolas78

谢谢,确保您注意到它是由“您的计算机名称” \ SQLEXPRESS制成的
windsound 2015年

106

启动您的本地SQL Server服务

  • 启动SQL Config Manager: 单击开始-> Microsoft SQL Server 2008 R2-> SQL Server配置管理器
  • 启动SQL服务: 将SQL Server(SQLEXPRESS)和SQL Server Browser服务设置为自动启动模式。右键单击每个服务->属性->进入服务选项卡

如果您重新启动计算机,这将确保它们再次启动。请检查以确保两个服务的状态均为“正在运行”。

启动本地SQL Server 2008服务

使用本地SQL Server登录并进行身份验证

  • 现在打开SQL Server Management Studio,然后单击“连接到对象资源管理器”,然后选择“服务器名称”:

[您的PC名称] \ SQLEXPRESS

例如: 8540P-KL \ SQLEXPRESS或(localhost)\ SQLEXPRESS

  • 查找您的PC名称:右键单击我的电脑->属性->计算机名称选项卡

  • 备选方案: 使用Windows身份验证登录:使用用户名[您的域] / [您的用户名]

SQL Server 2008用户帐户设置

设置用户帐户

  • 创建一个新的登录帐户: 在SQL Mgmt Studio中->展开本地服务器->安全性->右键单击登录名->新建登录名

  • 在“新用户帐户”上设置密码设置: 取消选中“强制实施密码策略”,密码到期,用户必须更改pw(因为这是本地密码)默认数据库->您的数据库

  • 将角色授予新用户帐户: 用户映射页面->映射到您的数据库,并授予db_owner角色状态页面->授予连接和启用登录权限

SQL Server 2008用户设置本地数据库

用户的设置访问权限/设置

  • 启用所有身份验证模式:右键单击本地服务器->属性->安全选项卡->启用SQL Server和Windows身份验证模式
  • 启用TCP / IP: 打开SQL Server配置管理器-> SQL Server网络配置-> SQLEXPRESS的协议->启用TCP / IP
  • 重新启动SQL Server服务: 启用TCP / IP后,必须重新启动SQL Server(SQLEXPRESS)

SQL Server 2008服务器权限

Spring项目的数据库属性文件

  • database.url = jdbc:jtds:sqlserver:// [本地PC计算机
    名称];实例= SQLEXPRESS;数据库名称= [数据库名称];

  • database.username = [您的用户名] database.password = [您的密码]

  • database.driverClassName = net.sourceforge.jtds.jdbc.Driver

如果要查看更大的屏幕快照和更好的答案格式以及更多详细信息,请查看下面的博客文章: 设置SQL Server 2008的本地实例博客文章:


3
谢谢。这帮助了很多人
Alan Waage 2013年

1
非常感谢!即使对于2014版,这也确实很有帮助!
powernit

如此答案所表明的,如果您SQL Server 2014 Configuration Manager在开始时没有搜索“年份”(当年),则可能没有安装有效的SQL Server实例。
唐·奇德尔

40

我使用(LocalDB)\ MSSQLLocalDB作为服务器名称,然后可以查看所有本地数据库。


在Windows 10 64Bit上与VS 2015配合良好。感谢
Pirate X X

使用SSMS 2014进行工作。但是我怀疑这取决于是否运行了将安装/创建此本地服务器的.NET Web应用程序。
唐·奇德尔

这是随Visual Studio(而不是SQL Server Express)一起安装的LocalDB。这个答案对实际正在寻找它的人很有帮助,但是如果您需要访问SQL Express,或者在SQL Express上建立数据库以利用LocalDB不支持的功能(例如全文搜索),则区别非常重要
IronSean

谢谢您的澄清IronSean
petrosmm

34

哈哈,天哪,我知道了。不知何故,当我安装SQL Server 2008时,我没有安装数据库引擎。


我如何检查数据库引擎是否已安装?它不会自动安装吗?
eran otzap,2011年

就我而言,我忘记安装Client Tools Connectivity,但这只是安装过程中“功能”页面上的另一个复选框。无论如何,您为我指明了正确的方向。谢谢。
RadekStromský12年

以我为例,在安装sql server时,我没有得到数据库引擎服务。安装时,我有3个选项:1. Instane Fetaure(在netnet中没有任何复选框)2.切细功能(具有2个cehckboxes)3.Redistribute功能。让我知道为什么我确实获得了数据库引擎服务。
卡维莎

我也有这个问题。下载页面有些含糊。确保您下载的是实际的服务器程序,而不是管理界面或没有服务器组件的其他选择之一。
安东尼

22

我知道这个问题很旧,但是万一它可以帮助任何人确保SQL Server Browser在Services MSC中运行。我安装了SQL Server Express 2008 R2,并且将SQL Server浏览器服务设置为“禁用”。

  1. 开始->运行-> Services.msc
  2. 找到“ SQL Server浏览器”->右键->属性
  3. 将启动类型设置为自动->单击应用
  4. 重试您的连接。

就是因为我的连接问题。我可以在Management Studio上使用,但是从应用程序服务器看不到:)谢谢!
斯拉夫2012年

这是我的工作,只是没有启动SQL Server代理-我将其关闭,因为当我不使用它时会消耗太多资源。
JTech 2012年

15

我刚刚解决了与此相关的问题,可能会对其他人有所帮助。

最初,在加载MSSMSE时,其服务器为 PC_NAME\SQLEXPRESS,当我试图连接它给了我Error: 26 - Error Locating Server/Instance Specified,让我去到SQL Server配置管理器来检查我的SQL Server BrowserSQL Server服务正在运行并设置为自动,才发现,与其说SQL Server (SQLEXPRESS)它说SQL Server(MSSQLSERVER)

然后,我尝试连接到PC-NAME\MSSQLSERVER该服务器,这次得到了SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrect一个错误,然后我搜索了此错误,发现有人建议不要在服务器连接界面上PC-NAME\MSSQLSERVER仅将use PC-NAME用作服务器名,这似乎可行。

在此处有一个链接http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/,该链接说明MSSQLSERVER是默认实例,可以通过以下方式连接仅使用您的主机名。

我认为这可能是因为过去在某个时候安装了SQL Server 2008而引起的。


您是正确的:“只需在服务器连接界面上使用PC-NAME(在此处输入您的PC名称)作为服务器名称”。有用。
开发人员MariusŽilėnas2015年

9

在您的实例的Configuration Manager和“网络配置和协议”下,是否启用了TCP / IP?那可能就是问题所在。


1
您还必须启用“ sa”帐户并为其提供密码,因为默认情况下该帐户处于禁用状态。您还可能需要启用SQL身份验证,因为默认情况下其“仅NT身份验证”。
djangofan

8
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

要么

var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"

6

对我来说,我只能通过使用“。”使它起作用。在服务器名称字段中;尝试了一段时间,尝试使用用户名和服务器名的不同组合。请注意,在服务器安装过程中(即此文件:SQLEXPR_x64_ENU.exe),我检查了默认实例,该实例默认名称为MSSQLSERVER;默认实例为MSSQLSERVER。上面获得较高评价的答案可能最好用于单独命名的(即,当您需要多个)服务器实例时。

这些视频都帮助我:


3

您应该检查的第一件事是SQL Server(MSSQLSERVER)已启动。您可以转到服务控制台(services.msc)并查找SQL Server(MSSQLSERVER)以查看其已启动。如果不是,则启动服务。

您也可以通过键入提升的命令提示符来执行此操作net start mssqlserver


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.