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

时间:2008-12-11 17:12:15

标签: sql-server-2008 ssms

我刚在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 2008中不存在SQL Server表面区域配置工具。使用您的帮助文档,Microsoft可以很好地工作; - )。

我现在不知道该做什么。在升级到2008之后,我有很多工作,我希望能够完成这项工作(我正在与之合作的人在没有问题的情况下完成并运行它并且告诉我这很容易 - 他对数据库的东西也更好了我上午)。有谁知道什么可能是错的?我真的很感激。如果我不能在几个小时内完成这项工作,我将回到SQL Server 2005(如果它甚至可以工作,那么......)。

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

11 个答案:

答案 0 :(得分:323)

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

Connect dialog

答案 1 :(得分:103)

启动本地SQL Server服务

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

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

Starting up your Local SQL Server 2008 Service

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

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

[您的电脑名称] \ SQLEXPRESS

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

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

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

SQL Server 2008 User Account Settings

设置用户帐户

  • 在SQL Mgmt Studio中创建新的登录帐户 - >展开本地服务器 - >安全 - >对 点击登录 - >新登录

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

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

SQL Server 2008 User Settings Local DB

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

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

SQL Server 2008 Server Permissions

Spring Project的数据库属性文件

  • database.url = jdbc:jtds:sqlserver:// [本地PC计算机
    name]; instance = SQLEXPRESS; DatabaseName = [db name];

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

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

如果您想要查看更大的屏幕截图和更好的答案格式,请查看以下博客文章: Setting up a Local Instance of SQL Server 2008 Blog Post:

答案 2 :(得分:33)

哈哈,噢,小伙子,我明白了。不知何故,某些时候,我在安装SQL Server 2008时没有安装数据库引擎。我不知道我是如何错过的,但这就是发生的事情。

答案 3 :(得分:29)

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

答案 4 :(得分:21)

我知道这个问题很老,但是如果它有助于任何人确保SQL Server Browser在服务MSC中运行。我安装了SQL Server Express 2008 R2,并且SQL Server Browser Service已设置为Disabled。

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

答案 5 :(得分:13)

我刚刚解决了与此相关的问题,这可能有助于其他人。

最初在加载MSSMSE时,服务器为PC_NAME\SQLEXPRESS,当我尝试连接时,它给了我Error: 26 - Error Locating Server/Instance Specified,所以我进入SQL Server配置管理器检查我的SQL Server Browser并且SQL Server服务正在运行并设置为自动,但却发现SQL Server (SQLEXPRESS)而不是SQL Server(MSSQLSERVER)。{/ p>

然后我尝试连接到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。

答案 6 :(得分:8)

在您的实例的配置管理器和网络配置和协议下是否已启用TCP / IP?这可能是问题所在。

答案 7 :(得分:7)

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

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

答案 8 :(得分:6)

对我而言,我只能通过使用"来实现它。"在服务器名称字段中;正在试图尝试用户名和服务器名称的不同组合。请注意,在安装服务器期间(即此文件:SQLEXPR_x64_ENU.exe),我检查了默认实例,该实例默认名称为MSSQLSERVER;上述高投票答案可能最适合用于单独命名(即,当您需要多于1个)服务器实例时。

这两个视频帮助了我:

答案 9 :(得分:3)

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

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

答案 10 :(得分:0)

对我来说这是一个Windows防火墙问题。允许传入连接。开放端口没有工作,但允许程序。

Link

Link2