我刚刚在我的 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 安装目录树下没有“数据”目录——我安装它时可能设置了错误吗?
请检查您提供的 ServerName。它应该与下面显示的用户名文本框中的名称匹配,并且该名称后面应该跟 \SQLEXPRESS
:
https://i.stack.imgur.com/6Dqbk.png
启动本地 SQL Server 服务
启动 SQL 配置管理器:单击开始 -> Microsoft SQL Server 2008 R2 -> SQL Server 配置管理器
启动 SQL 服务:将 SQL Server (SQLEXPRESS) 和 SQL Server Browser 服务设置为自动启动模式。右键单击每个服务 -> 属性 -> 进入服务选项卡
如果您重新启动计算机,这将确保它们再次启动。请检查以确保两种服务的状态均为“正在运行”。
https://i.stack.imgur.com/lO2tA.jpg
使用本地 SQL Server 登录并进行身份验证
现在打开 SQL Server Management Studio 并单击“连接到对象资源管理器”并选择服务器名称:
[您的电脑名称]\SQLEXPRESS
示例:8540P-KL\SQLEXPRESS 或 (localhost)\SQLEXPRESS
要查找您的 PC 名称:右键单击我的电脑 -> 属性 -> 计算机名称选项卡
备选方案:使用 Windows 身份验证登录:使用用户名 [您的域]/[您的用户名]
https://i.stack.imgur.com/Bptt6.png
设置用户帐户
创建一个新的登录帐户:在 SQL Mgmt Studio -> 展开本地服务器 -> 安全 -> 右键单击登录 -> 新登录
在新用户帐户上设置密码设置:取消选中强制密码策略、密码过期和用户必须更改 pw(因为这是本地)默认数据库 -> 您的数据库
向新用户帐户授予角色:用户映射页面 -> 映射到您的数据库并授予 db_owner 角色状态页面 -> 授予连接和启用登录的权限
https://i.stack.imgur.com/jBo4B.png
为用户设置访问权限/设置
启用所有身份验证模式:右键单击本地服务器 -> 属性 -> 安全选项卡 -> 启用 SQL Server 和 Windows 身份验证模式
启用 TCP/IP:打开 SQL Server 配置管理器 -> SQL Server 网络配置 -> SQLEXPRESS 协议 -> 启用 TCP/IP
重启 SQL Server 服务:启用 TCP/IP 后必须重启 SQL Server(SQLEXPRESS)
https://i.stack.imgur.com/rlmgE.png
Spring 项目的数据库属性文件
database.url=jdbc:jtds:sqlserver://[本地 PC 计算机名称];instance=SQLEXPRESS;DatabaseName=[数据库名称];
database.username=[您的用户名] database.password=[您的密码]
database.driverClassName=net.sourceforge.jtds.jdbc.Driver
如果您想查看更大的屏幕截图和更好的答案格式以及更多详细信息,请查看下面的博客文章:Setting up a Local Instance of SQL Server 2008 Blog Post:
SQL Server 2014 Configuration Manager
(无论年份)......那么您可能没有安装有效的 SQL Server 实例。
我使用 (LocalDB)\MSSQLLocalDB 作为服务器名称,然后我可以看到所有本地数据库。
哈哈,天哪,我想通了。不知何故,不知何故,我在安装 SQL Server 2008 时没有安装数据库引擎。我不知道我是怎么错过的,但这就是发生的事情。
我知道这个问题很老,但如果它可以帮助任何人确保 SQL Server Browser 在 Services MSC 中运行。我安装了 SQL Server Express 2008 R2,并且 SQL Server Browser 服务设置为已禁用。
开始->运行->Services.msc 找到“SQL Server Browser”->右键单击->属性将启动类型设置为自动->单击应用重试您的连接。
我刚刚解决了一个与此相关的问题,这可能对其他人有所帮助。
最初在加载 MSSMSE 时,它的服务器为 PC_NAME\SQLEXPRESS
,当我尝试连接时,它给了我 Error: 26 - Error Locating Server/Instance Specified
,所以我进入 SQL Server 配置管理器检查我的 SQL Server Browser
和 SQL 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。
在您的实例的配置管理器和网络配置和协议下是否启用了 TCP/IP?这可能是问题所在。
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"
或者
var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"
对我来说,我只能通过使用“。”来让它工作。在服务器名称字段中;尝试了一段时间的用户名和服务器名的不同组合。请注意,在安装服务器(即此文件:SQLEXPR_x64_ENU.exe)期间,我检查了默认实例,该实例默认名称为 MSSQLSERVER;上述高票数的答案可能最好用于单独的命名(即当您需要超过 1 个)服务器实例。
这两个视频都帮助了我:
使用点作为服务器名称:https://www.youtube.com/watch?v=DLrxFXXeLFk
一般设置:https://www.youtube.com/watch?v=vng0P8Gfx2g
您应该检查的第一件事是 SQL Server (MSSQLSERVER) 是否已启动。您可以转到服务控制台 (services.msc) 并查找 SQL Server (MSSQLSERVER) 以查看它是否已启动。如果没有,则启动服务。
您也可以通过键入 net start mssqlserver
通过提升的命令提示符执行此操作。
不定期副业成功案例分享
\SQLEXPRESS
之前的计算机名称