本帖最后由 lmm 于 2014-3-6 20:41 编辑
跟着杨中科老师ADO.Net基础视频中的步骤开启sa账户, 进行设置后, 能够从SQL Server Management使用sa账户登录. 但是在接下来使用ADO.Net技术连接数据库时却发生了错误.会出现如下异常:
在与SQLServer建立连接时出现与网络相关的或特定与实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且SQL SERVER已配置允许远程链接.(provide:命名管道提供程序,error:40 -无法打开到SQL Server的连接)
这个异常是因为SQL Server没有开启远程连接导致的.我在网上找了不少方法, 下面这个是最有效的:
sql server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:
1,SQL Server Management Studio Express(简写SSMS)
2,SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)
有两点要注意:
1,2005的外围应用配置器在2008中换了地方
2,有些设置生效需要重启一下SQL Server
step 1: 打开SSMS,用windows身份连接数据库,登录后,右键选择“属性”
step 2: 左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
step 3: 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
step 4: 展开“安全性”->“登录名”->“sa”,右键选择“属性”
step 5: 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
step 6: 选择“状态”,选中“启用”,点击“确定”
step 7: 右击数据库选择“方面”
step 8: 将“RemoteAccessEnabled”属性设为“True”,点“确定”
step 9: 至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
step 10: 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行
step 11: 以下为英文版本界面。如图:右侧的TCP/IP默认是“Disabled”,双击打开设置面板将其修改为“Enabled”
step 12: 选择“IP Addersses”选项卡,设置端口“1433”
step 13: 如图将"Client Protocols"的"TCP/IP"也修改为“Enabled”
step 14: 配置完成,重新启动SQL Server 2008。
此时应该可以使用了,但是还是要确认一下防火墙。
SQL Server 2005/2008 Express安装以后,默认情况下是禁用远程连接的。如果需要远程访问,需要手动配置。
打开防火墙设置。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。
如果是跟着杨中科老师的ADO基础视频来设置的话, 可以从第七步开始. 一般是因为SQLEXPRESS协议中的TCP/IP里面的IP地址的端口未设置, 将IPALL的端口设置为1433就可以了. |