it-swarm.cn

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

我刚刚安装了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协议”上的所有协议。我没主意了。我还能尝试什么?

18
pupeno

好的,您可以打开服务控制台并向下滚动到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角色中。这可能在单用户模式下工作,但我尚未验证

23
Wayne

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

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

0
Steve Jones