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

问题描述 投票:221回答:11

我刚刚在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 Browser服务。
  • 使用SQL Server外围应用配置器工具使SQL Server接受远程连接。有关SQL Server外围应用配置器的详细信息,请参阅服务和连接的外围应用配置。

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

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

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

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

sql-server-2008 ssms
11个回答
327
投票

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS82RHFiay5wbmcifQ==” alt =“连接对话框”>


3
投票

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

您也可以通过提升权限的命令提示符来键入net start mssqlserver


1
投票

对我来说,这是Windows防火墙问题。允许传入连接。打开端口不起作用,但允许程序起作用。

Link

Link2


106
投票

启动本地SQL Server服务

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

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

“启动本地SQL

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

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

[[您的PC名称] \ SQLEXPRESS

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

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

  • 替代:使用Windows身份验证登录:使用用户名[您的域] / [您的用户名]

“

设置用户帐户

  • [创建新的登录帐户:在SQL Mgmt Studio中->展开本地服务器->安全性->正确单击登录->新登录

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

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

“

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

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

“

Spring项目的数据库属性文件

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

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

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

[如果您想查看更大的屏幕快照以及更好的答案格式以及更多详细信息,请查看以下博客文章:Setting up a Local Instance of SQL Server 2008 Blog Post:


39
投票

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


34
投票

[哈哈,天哪,我知道了。以某种方式,在安装SQL Server 2008时,我没有安装数据库引擎。我不知道如何错过它,但这就是发生的情况。


22
投票

我知道这个问题很旧,但是万一它可以帮助任何人确保SQL Server Browser在Services MSC中运行。我安装了SQL Server Express 2008 R2,并且SQL Server Browser Service设置为Disabled。

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

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作为服务器名称,而不是使用PC-NAME,这似乎可行。

[这里有一个链接http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/,它说明MSSQLSERVER是默认实例,可以仅使用您的主机名就可以连接到它。

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


9
投票

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


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。上面获得较高评价的答案可能最好用于单独命名的(即,当您需要多个)服务器实例时。

这些视频都帮助了我:

© www.soinside.com 2019 - 2024. All rights reserved.