我刚刚在我的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身份验证,就像我一直做的那样),我得到以下消息:

Cannot connect to PC-NAME\SQLEXPRESS. 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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) (Microsoft SQL Server, Error: -1) For help, click: 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 Surface Area Configuration工具使SQL Server接受远程连接。有关SQL Server表面区域配置工具的详细信息,请参阅服务和连接的表面区域配置。

好吧,据我所知,我的系统上没有SQL Server浏览器服务(在MMC中寻找一个,找不到一个)。

SQL Server Surface Area Configuration工具在SQL Server 2008中并不存在。微软的帮助文档做得很好;-)。

我现在不知道该做什么。在升级到2008年之后,我有很多工作希望今天完成(和我一起工作的人毫无问题地启动并运行了它,并告诉我这很容易——他在数据库方面也比我好得多)。有人知道哪里出了问题吗?我真的很感激。如果我不能让它在几个小时内工作,我将回到SQL Server 2005(如果它甚至可以工作,哎呀…)

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


当前回答

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

其他回答

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

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

这两个视频都帮助了我:

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

var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

or

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

对我来说,这是windows防火墙的问题。允许传入连接。开放端口不工作,但允许程序工作。

Link

Link2

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

您也可以通过输入net start mssqlserver来提高命令提示符。