我刚刚在我的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”目录-我可能在安装它时设置了错误的东西吗?


当前回答

哈哈,天哪,我想明白了。不知何故,不知何故,我没有安装数据库引擎时,我安装SQL Server 2008。我不知道我怎么没发现,但事实就是这样。

其他回答

我刚刚解决了一个与此相关的问题,这可能会帮助到其他人。

最初加载MSSMSE时,它有服务器作为PC_NAME\SQLEXPRESS,当我试图连接它给我错误:26 -错误定位服务器/实例指定,所以我进入SQL server配置管理器检查我的SQL server浏览器和SQL server服务正在运行,并设置为自动,才发现,而不是说SQL server (SQLEXPRESS)它说SQL server (MSSQLSERVER)。

然后我尝试连接到PC-NAME\MSSQLSERVER,这一次得到SQL网络接口,错误:25 -连接字符串无效)(MicrosoftSQL服务器,错误:87)参数不正确,所以我谷歌了这个错误,发现有人建议,而不是使用PC-NAME\MSSQLSERVER只是使用PC-NAME作为服务器名称在服务器连接接口,这似乎工作。

这里有一个链接http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/,它解释了MSSQLSERVER是默认实例,可以通过使用您的主机名来连接。

我想这可能是因为我在过去的某个时候安装了SQL Server 2008。

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

or

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

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

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

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

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

Link

Link2