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

Posted

技术标签:

【中文标题】如何连接到 SQL Server 2008 Express 的本地实例【英文标题】:How to connect to local instance of SQL Server 2008 Express 【发布时间】:2010-09-26 11:38:47 【问题描述】:

我刚刚在我的 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 中不存在。微软的帮助文档做得很好;-)。

我现在不知道该做什么。在升级到 2008 年之后,我希望今天完成很多工作(与我一起工作的人顺利启动并运行它并告诉我这很容易 - 他在数据库方面的表现也比我好得多是)。有谁知道可能出了什么问题?我真的很感激。如果我不能在几个小时内完成这项工作,我将回到 SQL Server 2005(如果这还能工作,唉……)。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

您还必须启用“sa”帐户并为其提供密码,因为它默认禁用。您也可能需要启用 SQL 身份验证,因为默认情况下它的“nt auth only”。【参考方案2】:

哈哈,天哪,我想通了。不知何故,不知何故,我在安装 SQL Server 2008 时没有安装数据库引擎。我不知道我是怎么错过的,但这就是发生的事情。

【讨论】:

如何检查是否安装了数据库引擎?不会自动安装吗? 在我的例子中,我忘记安装 Client Tools Connectivity,但这只是安装过程中“功能”页面上的另一个复选框。不管怎样,你给我指明了正确的方向。谢谢。 在我的情况下,安装 sql server 时我没有得到数据库引擎服务。安装时我有 3 个选项 1.Instane Fetaure(下面没有任何复选框) 2. Shred 功能(有 2 个 cehckboxes ) 3.Redistribute 功能。让我知道为什么我确实获得了数据库引擎服务。 我也有这个问题。下载页面有点神秘。确保您下载的是实际的服务器程序,而不是管理界面或没有服务器组件的其他选项之一。【参考方案3】:

请检查您提供的服务器名称。它应该与下面显示的用户名文本框中的名称相匹配,并且该名称后面应该跟\SQLEXPRESS:

【讨论】:

这个问题已有 2 年历史,但这对我有帮助。我不知道我需要\SQLEXPRESS之前的计算机名称 我知道这个问题已经很老了,但我在很沮丧之后才发现这个问题。我觉得错误信息应该提出这个建议,而不是提供无用的信息:( 谢谢!域名是我真正需要的。 不敢相信下拉框只预填充了不起作用的 SQLEXPRESS whtn 谢谢,请确保您注意到这是由“您的计算机名称”\SQLEXPRESS【参考方案4】:
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

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

【讨论】:

【参考方案5】:

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

    开始->运行->Services.msc 找到“SQL Server Browser”->右键->属性 设置启动类型为自动->点击应用 重试连接。

【讨论】:

这就是我的连接问题。我可以在管理工作室穿,但从应用服务器看不到 :) 谢谢! 这是给我的,但它是未启动的 SQL Server 代理 - 我已将其关闭,因为当我不使用它时它会消耗太多资源。【参考方案6】:

启动本地 SQL Server 服务

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

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

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

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

[您的电脑名称]\SQLEXPRESS

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

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

替代方案: 使用 windows 身份验证登录:使用用户名 [Your 域]/[您的用户名]

设置用户帐户

创建新的登录帐户: 在 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:

【讨论】:

谢谢。这有助于束 非常感谢!这对 2014 版也很有帮助!! 正如这个答案所示,如果您在开始搜索“配置管理器”时没有看到 SQL Server 2014 Configuration Manager(无论年份)...那么您可能没有有效的 SQL Server实例已安装。【参考方案7】:

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

Link

Link2

【讨论】:

【参考方案8】:

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

最初在加载 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。

【讨论】:

您是对的:“只需在服务器连接界面使用PC-NAME(将您的电脑名称输入此处)作为服务器名称”。它有效。【参考方案9】:

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

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

【讨论】:

【参考方案10】:

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

【讨论】:

在 Windows 10 64 位上与 VS 2015 配合良好。谢谢 使用 SSMS 2014 工作。但我怀疑这取决于运行的 .NET Web 应用程序会安装/创建此本地服务器。 这是与 Visual Studio 一起安装的 LocalDB,而不是 SQL Server Express。这个答案对实际正在寻找它的人很有帮助,但如果您需要访问 SQL Express,或者在 SQL Express 上创建数据库以利用 LocalDB 不支持的功能(如全文搜索),则区别很重要 感谢 IronSean 的澄清【参考方案11】:

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

这两个视频都帮助了我:

使用点作为服务器名称:https://www.youtube.com/watch?v=DLrxFXXeLFk 一般设置:https://www.youtube.com/watch?v=vng0P8Gfx2g

【讨论】:

以上是关于如何连接到 SQL Server 2008 Express 的本地实例的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JDBC 连接到 SQL Server 2008 数据库?

如何解决SQL Server 2008 无法连接到(local)

sql server 2008怎么连接到服务器

如何使用 asp net core 2 连接到 SQL Server 2008?

如果我没有安装本机客户端,Visual Studio 2010如何连接到SQL Server 2008?

使用 PDO 连接到 SQL Server 2008