我无法连接到本地SQL Server 2008吗?


18

我刚刚安装了SQL Server 2008,但无法使用SQL Server Management Studio连接到它。我的意图是让本地Windows用户通过身份验证,但我不确定如何做到这一点

在连接对话框中,我正在编写:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

我的第一个问题是,那应该连接到什么?当我尝试连接时,出现以下错误消息:

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance 
name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(Microsoft SQL Server, Error: 2)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

我去那里显示的URL,它基本上只是说“确保SQL Server正在运行”。我认为是,但我不确定。

我已禁用Windows防火墙(这是Windows 7 7100 x86)。我还更改了SQL Server配置管理器中的登录系统,但似乎这不是登录问题,但甚至无法为其打开套接字。在同一工具上,我没有启用“ SQL Server网络配置”->“ SQLEXPRESS协议”上的所有协议。我没主意了。我还能尝试什么?


听起来真正的答案是命名实例。。\ SqlExpress点表示localhost,而\ SqlExpress是您要连接的实例。对于那些不知道的人,一台计算机上可以有多个SQL Server。在这种情况下,SqlExpress只是名称,而不是产品类型的严格说明或产品的严格版本。
09年

Answers:


23

好的,您可以打开服务控制台并向下滚动到SQL Server的S。您现在应该看到服务。请确保SQL Server(SQLEXPRESS)正在运行,然后尝试使用。\ SQLEXPRESS代替(本地)。

因此,按照您的示例:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

希望这可以帮助

更新:这些说明是因为我假设您正在运行Express Edition,而不是SQL Server的Dev / Std / Ent版本


尝试确保启用了适当的协议:

  1. 启动SQL配置管理器(即:“开始”->“程序”->“ SQL Server”->“配置工具”)
  2. 展开SQL本机客户端配置
  3. 单击“客户端协议”(您可能同时具有32位和64位)
  4. 确保按此顺序启用了共享内存,TCP / IP,命名管道
  5. 展开SQL Server网络配置
  6. 确保为SQLEXPRESS和/或MSSQLSERVER启用了共享内存
  7. 单击“ SQL Server服务”
  8. 重新启动所有正在运行的服务

您现在应该能够登录到实例


如果发现根本无法登录,则可能需要按照以下说明将SQL Server置于单用户模式。有关Microsoft的完整说明,请参见此处

默认情况下,sqlservr.exe位于C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn。如果安装了SQL Server的第二个实例,则sqlservr.exe的第二个副本位于以下目录中:

C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ binn。

您可以通过使用其他实例中的sqlservr.exe来启动一个SQL Server实例,但是SQL Server也会启动不正确实例的版本,包括Service Pack,这可能会导致意外结果。

为避免这种情况,请在启动sqlservr.exe之前使用MS-DOS更改目录(cd)命令移至正确的目录,如以下示例所示。

cd \ Program Files \ Microsoft SQL Server \ MSSQL10_50.1 \ MSSQL \ Binn

在命令提示符下以单用户模式启动SQL Server的默认实例

在命令提示符下,输入以下命令:

sqlservr.exe -m

当您不希望其他用户连接到SQL Server,但是任何用户都可以成为单用户(包括SQL Server代理服务)时,单用户模式对于执行紧急维护很有用。

现在,您应该能够登录到实例并将自己添加到“安全性”选项卡并授予完全访问权限。

替代方法:

这里的脚本声称将当前用户添加到SQL Server sysadmin角色。这可能在单用户模式下工作,但我尚未验证


服务控制台是Windows任务管理器上的“服务”选项卡吗?(Win7)。无论如何,SQLEXPRESS不存在,如何运行它?
2009年

1
服务控制台是“开始”->“控制面板”->“管理工具”->“服务”
韦恩,2009年

没关系,我发现服务控制台SQLEXPRESS正在运行。
2009年

连接到。\ SQLEXPRESS可以达到目的。非常感谢韦恩!
2009年

1
非常感谢...试图解决这个问题真是疯狂!(注给他人“ \ SQLEXPRESS” ......‘SQLEXPRESS’的实例ID你给安装在服务器上。
RiddlerDev

0

(本地)解析为127.0.0.1,并且仅适用于默认设置。实例(如SQL Server Express的默认实例)需要真实名称。请注意,您可以检查SQL Server的错误日志(SQL安装文件夹,然后是日志),前几个条目之一将为您提供实例的IP,端口和名称。

因此,您可以改用那些。实例名称很好用,因为它们相当一致。请注意,它们也使用动态端口,因此每次重新启动时它可能是不同的端口。SQL Server配置管理器可以设置特定的端口。不确定Express工具。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.