provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错相关的知识,希望对你有一定的参考价值。

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 网上搜索的方法都无法解决,请求高人解决T_T,泪谢。

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
首 选请确认SQL SERVER EXPRSS已安装到本地计算机上,并且SQL SERVER (SQLEXPRESS)服务已经成功启动。如果问题仍然存在,可以尝试应打开“SQL Server 外围应用配置器”,选择“服务和连接的外围应用配置器”,然后将“远程连接”配置为“同时使用 TCP/IP 和 named pipes”

由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。
将连接字符串中的“User Instance=True”修改为“User Instance=False”即可。
相关参考文章请参阅《非管理员用户实例》

无法将文件 'X:\Website\App_Data\Database.mdf' 作为数据库 ''. 附加。当前命令发生了严重错误。应放弃任何可能产生的结果。
需要为X分区以及X分区的子文件夹和文件分配Users组的“读取”权限。

尝试为文件 X:\Website\App_Data\Database.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
首 选要确认已经为X分区以及X分区的子文件夹和文件分配了Users组的“读取”权限。如果问题仍然存在,请使用SQL Server Management Studio连接到SQLEXPRESS数据库实例,检查是否有名称是“Database”的数据库存在。如果有,分离同名数据库即可。(特别是这一个,很容易造成莫名其妙的错误)

无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
数据库文件Database.mdf 的读写权限被设置成只有NETWORK SERVICE才具有。解决方法是先停止掉SQL SERVER (SQLEXPRESS)服务,然后从父项集成权限,再次启动SQL SERVER (SQLEXPRESS)服务即可。

更改数据库文件的Everyone修改权限,在windows xp中有两个方法可以修改它:

1,在"我的电脑"窗口中点"工具",选择"文件夹"选项,选择"查看"选项,在高级设置中将使用简单文件共享复选框中的小勾勾掉。然后选定数据库文件,你就可以发现多了一个安全选项,点击它,选择everyone用户组,如果没有,你可以自行添加它。然后更改它的控制权限。

2,你也可以重新启动计算机,在进入系统时按下F8,选带网络连结的安全模式,然后你选定数据库文件, 这时也有一个安全选项,你按照上面的方法也可以完成同样的功能。

注:该方法解决以下问题:

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 尝试为文件 项目名\App_Data\aspnetdb.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中。
参考技术A 团友回答:这个问题很容易解决,就是设置问题具体步骤一会有人给你回答,我这没装团长回答:你好,很高兴为你回答,我是80乌托邦团长以下是解决方法:首先是问题描述:在建立与服务器的连接时出错。在连接到SQL Server2005时,在默认的设置下SQL Server不允许进行远程连接可能会导致此是失败。(provider:SQl网络接口,error:26-定位指定的服务器/实例时出错)(Microsoft SQl Server)
今天终于搞定这个棘手的问题了,想来,问题很简单,就是服务器未启动啊。在xp盗版的系统上安装Sql Server2005时,遇到这个问题,我搞了好久没搞定,非常谢谢一位大哥的帮忙,原来是是framedyn.dll搞的鬼呀。在c:\windows\system32下面这个文件丢失了,所以我去C:\WINDOWS\system32\wbem中将framedyn.dll拷贝一份到c:\windows\system32里面,然后打开Sql Server configuration manager,将“SQL Server 2005服务”的子项全部启用,ok再次打开SQL Server Management Studio,进行连接就好了。其实最关键的一个问题就是framedyn.dll是framework链接库文件,丢失了以后导致服务器无法连接。  我以前遇到和你一样的问题的,我的解决方法写在了我的百度空间中,以下是我的地址,希望能够帮到你。 http://hi.baidu.com/soutnila/blog/item/2d5301114aa97acfa7ef3fbb.html
参考技术B 这个错误的意思就是说,你的sql
server服务器并没有允许远程连接,你得先配置它。

但是如果你两个网站都访问这一个数据库,那情况就不同了,
应该是你一个网站的连接字符串有问题导致的,你得把两个网站的连接字符串贴出来,做个对比,找到错误的原因,然后修改即可。
参考技术C 不用计算机名登陆,使用服务器IP登陆就没问题 参考技术D 1、未开启SqlServer服务在开始菜单sqlserver外围设备管理器中 启动sqlserver服务 或 我的电脑 管理 服务下启动2、数据库连接串写法问题server='服务器地址';database='服务器名';user='SqlServer登录名';password='登录密码'服务器地址:本地 localhost 远程:IP3、所访问的远程服务器未开启

服务器踩坑SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746

昨天在一台Ubuntu18.04.2 上安装了SQL Server 2019 for Linux

服务正常启动了,但是却无法通过命令行工具或者远程Windows机器上的SSMS链接。

 

SSMS错误是

 

Sqlcmd的错误是

Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746

 

关闭了防火墙,还是不行。

 

无奈访问了一下著名的同性交友网站Stackoverflow,其中有个帖子提到了这是由于SSL版本不一致造成的,按照这个思路继续谷歌

然后找到了这个博客

https://techcommunity.microsoft.com/t5/SQL-Server/Installing-SQL-Server-2017-for-Linux-on-Ubuntu-18-04-LTS/ba-p/385983

博客虽然是Sql Server 2017的出现的问题与2019一致,大致原理是Ubuntu已经把SSL更新到了1.1,但是Sql Server和SSMS以来的SSL是1.0版本的,由于版本不一致造成无法链接。

 

解决方案:

将MSSQL的SSL设置为1.0版本

依次执行命令

 1 # 先停止MSSQL
 2 sudo systemctl stop mssql-server
 3 
 4 # 编辑服务配置
 5 sudo systemctl edit mssql-server
 6 
 7 # 在打开的编辑器中输入
 8 [Service]
 9 Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
10 #输入完 Ctrl+S 保存 Ctrl + X退出
11 
12 # 给MSSQL创建指向SSL1.0的链接
13 sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so
14 sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
15 
16 # 重启MSSQL
17 sudo systemctl start mssql-server

以上是关于provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL

SQL2008 SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错解决方法

provider: TCP Provider, error: 0

SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。(

sql server 2008 在与 SQL Server 提示建立连接时出现与网络相关的或特定于实例的错误

服务器踩坑SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746