13

我在 Windows 7 中运行 SQL Server 2012 Management Studio Express,我在连接到本地数据库时遇到问题。我尝试了上述所有解决方案,但没有奏效。请帮忙。提前致谢。

安装网址在这里

错误 - 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)(Microsoft SQL Server,错误:-1)

如需帮助,请单击MSDN 链接

4

7 回答 7

22

假设您安装了 SQL Server 并使用了命名实例 SQLEXPRESS,您的服务器名称应为:

.\SQLEXPRESS

或者:

127.0.0.1\SQLEXPRESS

您可以检查实例名称(它可能不是 SQLEXPRESS)以及服务器是否在“开始”菜单中以与此非常相似的路径运行(但会因版本而异):

开始 > 程序 > Microsoft SQL Server > 配置工具 >
   SQL Server 配置管理器

如果当前已停止,则需要右键单击并选择开始:

在此处输入图像描述

您还应该右键单击并确保启动模式设置为自动(位于属性 > 服务下)。

该错误消息似乎暗示服务器正在尝试使用命名管道。虽然在本地它应该能够使用共享内存,但您接下来应该确保 SQL Server Browser 服务正在运行。你可以这样做:

控制面板 > 管理工具 > 服务

在此处输入图像描述

如果未启动,请启动它,并将其启动模式设置为自动。(如上所述,您可以从右键菜单中执行这两项操作。)

如果您仍然没有得到任何结果,您可能安装了 SQL Server 2012,而没有手动将您的 Windows 帐户添加到管理员组。如果是这种情况,希望您将其设置为使用混合模式,并且您可以以 sa 身份连接。否则,您将需要使用PSExec.exe 之类的工具以 NT AUTHORITY\SYSTEM 身份运行 SSMS:

PsExec -s -i "C:\...path to ssms...\Ssms.exe"

无论您可以作为 sa 连接还是需要使用 PSExec 连接,接下来的步骤是:

  1. 确保您的 Windows 帐户是 Server > Security > Logins 下的登录名。如果它不存在,请通过右键单击登录 > 新登录来添加它。
  2. 确保登录是 sysadmin 固定服务器角色的成员。如果不是,请确保它位于“服务器角色”选项卡下。
于 2012-08-28T17:18:25.083 回答
11

您可以使用命名管道将 SSMS 连接到 LocalDB 实例。

1 - 通过运行以下命令获取 (localdb) 实例的地址: "C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" info [InstanceName] (如果它是您的默认实例)重新感兴趣,将 v11.0 指定为 [InstanceName] 您可以在 CMD 中使用以下命令将其写入文本文件:

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" info v11.0 > C:\db_details.txt

2 - 复制“实例管道名称”值,例如np:\.\pipe\LOCALDB#1E0FF40B\tsql\query

3 - 将“实例管道名称”值粘贴为服务器名称。

于 2013-08-08T11:02:45.840 回答
6

聚会迟到了,但看看这个链接我有同样的问题

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

也试试 (localdb)\V11.0 as the server name.

注意..,实例名称 V11.0 区分大小写,大写 V 然后 11.0

于 2015-04-06T19:54:06.067 回答
4

经过两天的故障排除,终于得到了结果

使用 ServerName = (LocalDb)\MSSQLLocalDB

图片

有关更多信息,请访问参考链接 - https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b75bef7e-13f3-4658-8d43-9df12ab4c320/connecting-localdb-using-sql-server-management -studio-express?forum=sqlexpress

于 2018-04-04T06:15:52.967 回答
0

试试这个代码:

RegistryKey rKey;
string InstanceName;

//use this string for database connection
string ConString;
string regPath = @"Software\Microsoft\Microsoft SQL Server\UserInstances";
rKey = Registry.CurrentUser.OpenSubKey(regPath);

if (rKey.GetSubKeyNames().Length != 0)
{
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName +
        @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}
else
{
    Process.Start(@"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe", "c amirLOCALDB -s");
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName + @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}

如果您的实例停止,请转到此地址:

C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ 

并使用此命令

SqlLocalDB.exe s yourInstance
于 2013-09-04T17:20:41.113 回答
0

您是否检查过您的特定服务器是否启用了 TCP 协议。按照这些说明查看它是否已启用。

http://msdn.microsoft.com/en-us/library/bb909712(v=vs.90).aspx

启用它们后,您必须重新启动服务。如果它无法启动,请检查事件日志以了解它没有启动的原因。常见原因是该端口上已经运行了另一个服务(通常是另一个版本的 sql server)。如果是这种情况,您可能需要重新配置服务器端口。检查此博客文章(还包括有关如何检查 TCP/IP 启用的图像):

http://blogs.msdn.com/b/sqlblog/archive/2009/07/17/how-to-configure-sql-server-to-listen-on-different-ports-on-different-ip-addresses。 aspx

之后,通常的下一个障碍是防火墙或 Internet 安全软件阻止连接。即使在本地实例上,这也发生在我身上。解决这个问题,你应该很高兴。

如果在这一切之后您仍然无法连接,请在事件日志中搜索原因。

于 2013-09-04T17:45:20.803 回答
0
  1. 打开任务管理器,然后在进程选项卡下找到 sqlservr.exe
  2. 如果没有,请确保列命令行可见,然后单击查看>选择列>向下滚动并勾选命令行>单击确定
  3. 你会看到 "C:\Program Files\Microsoft SQL\110\LocalDB\Binn\sqlservr.exe" -c SMSSQL11E.LOCALDB -s LOCALDB#C1E849D0 --etc
  4. 记下LOCALDB#C1E849D0
  5. 打开 SQL Management studio (runas Administrator) 然后在 Server name 中输入 \\.\pipe**LOCALDB#C1E849D0**\tsql\query 您现在应该可以浏览 LOCALDB 中的所有数据库
于 2016-07-21T11:01:58.063 回答