最近遇到个奇怪的问题,一般同样的版本,我们以SQL Server 身份验证登录时,服务器名称的写法是: Server Name\Instance Name,登录名:sa,密码:******, 服务器类型:数据库引擎。--这样绝大多时候是按这样格式登录的。
但是这次有台服务器却登录报错:
然而但出现这个问题时,只用计算机名登录即可解决,必须保证相关服务有启动。
注:此方法在是在SQL Server 2008R2 上验证可行,其他发行版本同样值得一试。
--上图中,明显服务器名称就是实际的操作系统显示的"计算机名",后面并没有跟“\实例名”。只有这样才可以登录成功。比较奇怪,不知道是什么原因导致的?
--扩展:还有可能遇到下面的错误:
问题详细:连接测试失败!:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)。
本机配置:Win7系统,SQL Server 2008 R2 数据库,在360浏览器测试使用G2服务测试数据库连接。
首先查看了数据库已经允许远程连接,数据库连接字符串也填写正确。PS:连接朋友数据库正常。
在网络上搜索了一些答案。
其中,第一种方法:
运行中输入services.msc,查看SQL有关服务是否全部开启。
启动所有可以启动的SQL相关服务完毕,仍未解决问题。
第二种方法:
设置配置管理器中TCP/IP,端口设置为默认的1433。
结果SQLEXPRESS的协议设置为1433后,重启SQL Server (SQLEXPRESS)出现错误。
然后就不能再启动了。
最后找了相关资料,所做的设置有:
更改SQL Server (SQLEXPRESS)TCP/IP
其中8099是任意设置的端口(后面还要在防火墙设置)也可以是默认的1433端口。
这时可以启动SQL Server (SQLEXPRESS)
在控制面板打开防火墙,点击高级设置。
点击入站规则,新建规则
选择端口,下一步
输入之前的端口8099,下一步
默认允许连接,下一步
默认,下一步
输入名称8099(可任意命名),完成。
回到高级设置界面
数据库测试成功