您能否发布您正在使用的连接字符串,以便我们帮您解决问题?
您可能需要将端口号添加到Data Source
值中,因为省略它也可能会导致SQL错误26。
例如:Data Source = ServerHostName\SQLServerInstanceName,1433
虽然出现此错误可能有很多原因,但在我的情况下,问题非常简单,我忽略了一段时间。我在Server
中使用了服务器IP地址和实例名称,如下所示:
<add name="MyDBConnection"
connectionString="Persist Security Info=False;User ID=sa;Password=xxx;Database=MyDB;Server=nn.nn.n.nn\SQLInstance01; Connection Timeout=180" providerName="System.Data.SqlClient"/>
正确的连接字符串应该类似于这样(请注意,此示例没有 SQL Server 实例名称)
<add name="MyDBConnection"
connectionString="Persist Security Info=False;User ID=sa;Password=xxx;Database=MyDB;Server=nn.nn.n.nn; Connection Timeout=180" providerName="System.Data.SqlClient"/>
HTH.
这真的有效..我已经验证了很多网站,最终得到了答案
当master.mdf或mastlog.ldf损坏时会出现此问题。 为了解决此问题,请转到以下路径
C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL,在那里您将找到一个名为“Template Data”的文件夹,请复制master.mdf和mastlog.ldf并替换它们。
C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA文件夹中的内容。
就是这样。现在启动MS SQL服务,您完成了。
您是否已在 SQL 配置管理器中禁用了 VIA 设置?如果没有,请首先禁用它(如果启用了 VIA,则无法连接),是的,TCP 必须启用。尝试一下,应该可以正常工作。
仅针对特定实例名称进行更改。
干杯!
特别是,我的问题是我没有在Sql Server Configuration Manager->SQL Server Network Configuration->Protocols for SQLEXPRESS中启用TCP/IP。
一旦你打开它,你必须转到IP地址选项卡,对我来说,将IPAll更改为TCP端口1433并删除TCP动态端口值起作用。
按照其他步骤确保1433正在侦听(使用netstat -an确保0.0.0.0:1433正在侦听),并且您可以从客户机telnet到该端口。
最后,我赞成建议从连接中删除\SQLEXPRESS。
编辑:我应该注意到我正在使用SQL Server 2014 Express。
我在使用SQL Server时遇到了类似的问题,尝试了各种方法但无法连接到数据库引擎,显示错误代码:26。
如果数据库引擎未运行,请卸载 SQL Server 或格式化系统(如果可能),然后从以下链接下载 SQL Server 2012 和管理工具:
https://www.microsoft.com/en-ca/download/details.aspx?id=29062
首先安装服务器,确保在安装阶段添加服务器,方法是点击“添加服务器”,然后再安装管理工具。
我曾经遇到过类似的问题,解决方法是进入“SQL Server 配置管理器”,确保“SQL Server 浏览器”被配置为自动启动并已启动。
这对我很有效。