> 数据库 > SQL Server 2005 >

win2008 r2 安装sql server 2005/2008 无法连接服务器解决方法

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。

在使用G2服务时,测试服务器连接,结果遇到这个问题。

配置,server,sql,连接,实例0

问题详细:连接测试失败!:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)。

本机配置:Win7系统,SQL Server 2008 R2 数据库,在360浏览器测试使用G2服务测试数据库连接。

首先查看了数据库已经允许远程连接,数据库连接字符串也填写正确。PS:连接朋友数据库正常。

在网络上搜索了一些答案。

其中,第一种方法:

运行中输入services.msc,查看SQL有关服务是否全部开启。

配置,server,sql,连接,实例1

启动所有可以启动的SQL相关服务完毕,仍未解决问题。

配置,server,sql,连接,实例2

第二种方法:

设置配置管理器中TCP/IP,端口设置为默认的1433。

配置,server,sql,连接,实例3

结果SQLEXPRESS的协议设置为1433后,重启SQL Server (SQLEXPRESS)出现错误。

配置,server,sql,连接,实例4

然后就不能再启动了。

配置,server,sql,连接,实例5

最后找了好朋友帮忙,终于解决了问题。

所做的设置有:

更改SQL Server (SQLEXPRESS)TCP/IP

配置,server,sql,连接,实例6

其中8099是任意设置的端口(后面还要在防火墙设置)。

这时可以启动SQL Server (SQLEXPRESS)

配置,server,sql,连接,实例7

在控制面板打开防火墙,点击高级设置。

点击入站规则,新建规则

配置,server,sql,连接,实例8

选择端口,下一步

配置,server,sql,连接,实例9

输入之前的端口8099,下一步

配置,server,sql,连接,实例10

默认允许连接,下一步

配置,server,sql,连接,实例11

默认,下一步

配置,server,sql,连接,实例12

输入名称8099(可任意命名),完成。

配置,server,sql,连接,实例13

回到高级设置界面

配置,server,sql,连接,实例14

数据库测试成功

配置,server,sql,连接,实例15

您的支持是我不竭的动力。如果有错误的地方,欢迎指正。

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

 


当出现这个问题时,其实很简单,是不同的数据库版本,地连接方法个一样;注意以下红字部分。我以前是用Server=.;database=jtj;User ID=sa;Password=


改成了Server==.//SQLEXPRESS;Initial Catalog=jtj;User ID=sa;Password=


折腾了好久才搞好。

1.开启sql2005远程连接功能,开启办法如下:
配置工具->Sql Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine节点,先择“远程连接”,接下建议选择“同时使用TCP/IP和named pipes”,确定后重启数据库服务就可以了。

2.登陆设置改为:Sql Server 和 Windows 身份验证模式,具体设置如下:

SQL Server Management Studio管理器->Windows 身份验证连接服务器->对象资源管理器中选择你的数据服务器->右键->属性->安全性->Sql Server 和 Windows 身份验证模式选中。


3.设置一个Sql Server方式的用户名和密码,具体设置如下:

(1)SQL Server Management Studio管理器->Windows 身份验证连接服务器->对象资源管理器中选择你的数据服务器->展开服务器上的“安全性”->登陆名->在sa帐号上点右键->“选择页”选择常规->更改sa登陆帐号的密码。这样就设置了一个用户名为sa,密码为:sa123456的用户。

(2)“选择页”选择状态->登陆修改为启用

4.数据库连接字符串

数据库连接字符串有好几种,相信你自己也见过,都被搞晕了

Data Server=./SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
Data Server=服务器名/SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
Data Server=localhost/SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456
Data Server=.;Initial Catalog=Northwind;User ID=sa;Password=sa123456
Data Server=服务器名;Initial Catalog=Northwind;User ID=sa;Password=sa123456
……

到底那种正确?这跟数据库版本有关系,如果是Sql Server 2005 Express版本,则必须要有“/SQLEXPRESS”。而且如果这个字符串是定义为一个变量的时候,VS2005还会在“/”的下面加个红色的波浪线提示你“/S是无法识别的转义序列”,因此如果字符串是定义为一个变量的时候应该写成Server=.//SQLEXPRESS


5.注册Sql Server数据库

在路径“C:/Windows/Microsoft.NET/Framework/v2.0.50727”下运行“ASPNET_REGSQL”指令,就会出现ASP.NET SQL Server Setup Wizard向导,连续按下两个下一步后就会出现Sql Server注册界面,填入你要注册的数据库参数就注册好了。注册完后会在你的数据库里多几个表(如图):

5.设置数据库连接字符串

打开IIS->在默认网站或是网站所在的虚拟目录点击右键选择属性->选择ASP.NET选项卡->编辑配置->在“常规”页签编辑“LocalSqlServer”数据库连接字符串:
Data Server=./SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456

6.设置web.config文件

在web.config文件添加如下程序:

<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=./SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sa123456" providerName="System.Data.SqlClient"/>
</connectionStrings>

这样便大功告成了。下面来测试

1.宽松的连接测试

宽松的连接测试使用SqlDataSource

VS2005服务器资源管理器选中数据库点击右键->选择修改连接->填入服务器名->使用Sql Server身份验证填入用户名sa及密码sa123456->选择或输入一个数据库名:Northwind->点击测试连接

宽松的连接测试连接成功并不能说明数据库就连接OK了,一开始我就是挂在这里,宽松的连接测试测试连接成功,可是始终无法读出数据库的内容到网页里头。


2.严谨的连接测试


在VS2005里选择网站菜单->ASP.NET配置进入ASP.NET网站管理工具->选择提供程序->点击AspNetSqlProvider的测试,若测试成功,说明数据库设置完全正确,否则得从头来过好好查查问题在哪里。



(责任编辑:IT)