【问题标题】:Error 26 on SQL Server Express on local (non-networked) machine本地(非网络)计算机上的 SQL Server Express 上的错误 26
【发布时间】:2018-09-06 20:47:57
【问题描述】:

在使用 SQL Server Express 本地实例的程序中发生了 SQL Server 异常错误 26,该程序位于独立且不属于任何网络的计算机上。匿名截图如下。这是一个已经存在很长时间的遗留程序,这是(据我所知)第一次发生此异常。

我在网上看到的有关此错误的所有内容都指向访问远程计算机的尝试,当然这里不是这种情况。

连接字符串是Data Source=(local)\\SQLEXPRESS;Integrated Security=True;MultipleActiveResultSets=True;Initial Catalog=AppDb5_0; 这是程序启动时设置的,永远不会改变。要想在程序中找到异常发生的地方,数据库会被多次访问,所以连接字符串不会有问题。

编辑:我确实看到了这个相关问题:SQL Server: cannot connect from local website (SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)。但是,在这种情况下,它与连接字符串有关,这个问题几乎会立即出现在我的程序中。

可能发生了什么导致此异常?

编辑。这是所有日志文件的 zip:https://www.dropbox.com/s/jyi8atc92e81hpv/SqlServerErrorLogs.zip?dl=0

编辑

这是来自受影响计算机的日志文件之一。

2018-08-22 12:01:18.22 服务器 Microsoft SQL Server 2016 (SP1-GDR) (KB4293801) - 13.0.4223.10 (X64)

2018 年 7 月 26 日 18:39:45

版权 (c) 微软公司

Windows 10 Pro 6.3(内部版本 17134:)上的 Express 版(64 位)

2018-08-22 12:01:18.22 服务器UTC调整:10:00

2018-08-22 12:01:18.22 服务器 (c) Microsoft Corporation。

2018-08-22 12:01:18.22 服务器版权所有。

2018-08-22 12:01:18.22 服务器服务器进程 ID 为 3888。

2018-08-22 12:01:18.22 服务器系统制造商:'MSI',系统 型号:“MS-7851”。

2018-08-22 12:01:18.22 服务器认证方式为 仅限 WINDOWS。

2018-08-22 12:01:18.22 服务器在文件中记录 SQL Server 消息 'C:\Program Files\Microsoft SQL 服务器\MSSQL13.SQLEXPRESS\MSSQL\Log\ERRORLOG'。

2018-08-22 12:01:18.22 服务器服务帐号是'NT 服务\MSSQL$SQLEXPRESS'。这是一条情报信息;没有用户 需要采取行动。

2018-08-22 12:01:18.22 服务器注册表启动参数:

-d C:\Program Files\Microsoft SQL 服务器\MSSQL13.SQLEXPRESS\MSSQL\DATA\master.mdf

-e C:\Program Files\Microsoft SQL 服务器\MSSQL13.SQLEXPRESS\MSSQL\Log\ERRORLOG

-l C:\Program Files\Microsoft SQL 服务器\MSSQL13.SQLEXPRESS\MSSQL\DATA\mastlog.ldf

2018-08-22 12:01:18.22 服务器命令行启动参数:

-s "SQLEXPRESS"

2018-08-22 12:01:21.30 服务器 SQL Server 检测到 1 个套接字 每个插槽 2 个内核和每个插槽 2 个逻辑处理器,总共 2 个 逻辑处理器;使用 2 个基于 SQL Server 的逻辑处理器 许可。这是一条情报信息;没有用户操作 必填。

2018-08-22 12:01:21.30 服务器 SQL Server 正常启动 优先级基础 (=7)。这只是一条信息性消息。没有用户 需要采取行动。

2018-08-22 12:01:21.30 服务器检测到 3972 MB 的 RAM。这是个 信息性消息;无需用户操作。

2018-08-22 12:01:21.30 服务器使用常规内存 内存管理器。

2018-08-22 12:01:21.93 服务器默认排序规则: SQL_Latin1_General_CP1_CI_AS (us_english 1033)

2018-08-22 12:01:23.00 服务器缓冲池扩展已经 禁用。无需采取任何行动。

2018-08-22 12:01:24.58 服务器 InitializeExternalUserGroupSid 失败的。隐含的身份验证将被禁用。

2018-08-22 12:01:24.58 服务器隐式身份验证管理器 初始化失败。隐含的身份验证将被禁用。

2018-08-22 12:01:25.37 服务器最大专用数 此实例的管理员连接为“1”

2018-08-22 12:01:25.38 服务器此 SQL Server 实例最后 在 2018 年 8 月 22 日上午 11:59:45(本地)使用进程 ID 3900 报告 2018 年 8 月 22 日上午 1:59:45(UTC)。这只是一条信息性消息;不 需要用户操作。

2018-08-22 12:01:25.41 服务器节点配置:节点 0:CPU 掩码:0x0000000000000003:0 活动 CPU 掩码:0x0000000000000003:0。这个 消息为此提供了 NUMA 配置的描述 计算机。这只是一条信息性消息。没有用户操作 必填。

2018-08-22 12:01:25.44 服务器使用动态锁分配。 每个初始分配 2500 个 Lock 块和 5000 个 Lock Owner 块 节点。这只是一条信息性消息。没有用户操作 必填。

2018-08-22 12:01:25.47 服务器数据库即时文件 初始化:禁用。出于安全和性能考虑 请参阅 SQL Server 中的“数据库即时文件初始化”主题 在线图书。这只是一条信息性消息。没有用户操作 必填。

2018-08-22 12:01:25.58 服务器 CLR 版本 v4.0.30319 已加载。

2018-08-22 12:01:26.02 服务器查询存储设置已初始化 启用 = 1,

2018-08-22 12:01:27.03 spid4s 启动数据库“master”。

2018-08-22 12:01:27.07 服务器公共语言运行时 (CLR) 使用 CLR 版本 v4.0.30319 初始化的功能 C:\Windows\Microsoft.NET\Framework64\v4.0.30319.

2018-08-22 12:01:27.68 spid4s SQL Server Audit 正在启动 审计。这是一条情报信息。无需用户操作。

2018-08-22 12:01:27.69 spid4s SQL Server Audit 已启动 审计。这是一条情报信息。无需用户操作。

2018-08-22 12:01:27.83 spid4s SQL Trace ID 1 由登录启动 “萨”。

2018-08-22 12:01:27.84 spid4s 服务器名称为“Lab-PC\SQLEXPRESS”。 这只是一条信息性消息。无需用户操作。

2018-08-22 12:01:27.94 spid4s 启动数据库“msdb”。

2018-08-22 12:01:27.94 spid7s 启动数据库 'mssqlsystemresource'。

2018-08-22 12:01:28.02 spid7s 资源库构建版本 是 13.00.4223。这只是一条信息性消息。无用户操作 是必需的。

2018-08-22 12:01:28.05 spid10s 自己生成的证书是 已成功加载加密。

2018-08-22 12:01:28.05 spid10s 服务器本地连接提供程序是 准备好接受 [ \.\pipe\SQLLocal\SQLEXPRESS ] 上的连接。

2018-08-22 12:01:28.06 spid10s 服务器本地连接提供程序是 准备好接受 [ \.\pipe\MSSQL$SQLEXPRESS\sql\query ] 上的连接。

2018-08-22 12:01:28.06 spid10s 专用管理员连接 支持未启动,因为它在此版本的 SQL 中被禁用 服务器。如果您想使用专用的管理员连接, 使用跟踪标志 7806 重新启动 SQL Server。这是信息 只发消息。无需用户操作。

2018-08-22 12:01:28.07 spid10s SQL Server 现已为客户端做好准备 连接。这是一条情报信息;没有用户操作 必填。

2018-08-22 12:01:28.07 服务器 SQL Server 正在尝试 为 SQL Server 服务注册服务主体名称 (SPN)。 在注册 SPN 之前无法进行 Kerberos 身份验证 用于 SQL Server 服务。这是一条情报信息。没有用户 需要采取行动。

2018-08-22 12:01:28.08 服务器 SQL Server 网络接口 库无法注册服务主体名称 (SPN) [ MSSQLSvc/Lab-PC:SQLEXPRESS ] 用于 SQL Server 服务。视窗 返回码:0xffffffff,状态:63。未能注册 SPN 可能 导致集成身份验证使用 NTLM 而不是 Kerberos。这个 是一条信息性消息。仅在以下情况下才需要采取进一步行动 身份验证策略需要 Kerberos 身份验证,如果 SPN 尚未手动注册。

2018-08-22 12:01:28.17 spid7s 启动数据库“模型”。

2018-08-22 12:01:28.36 spid7s Polybase 功能已禁用。

2018-08-22 12:01:28.37 spid7s 清除 tempdb 数据库。

2018-08-22 12:01:28.66 spid7s 启动数据库“tempdb”。

2018-08-22 12:01:28.98 spid13s Service Broker 端点位于 禁用或停止状态。

2018-08-22 12:01:28.98 spid13s 数据库镜像端点是 处于禁用或停止状态。

2018-08-22 12:01:29.06 spid13s Service Broker manager 已启动。

2018-08-22 12:01:29.11 spid4s 恢复完成。这是个 仅供参考。无需用户操作。

2018-08-22 12:01:32.06 服务器软件使用指标已禁用。

2018-08-22 12:36:42.09 spid51 启动数据库“AppDb5_0”。

2018-08-22 14:38:05.09 服务器 SQL Server 正在终止,因为 的系统关闭。这只是一条信息性消息。没有用户 需要采取行动。

2018-08-22 14:38:06.48 spid13s Service Broker 管理器已关闭 下来。

2018-08-22 14:38:06.48 spid13s 错误:17054,严重性:16,状态: 1.

2018-08-22 14:38:06.48 spid13s 当前事件未上报 到 Windows 事件日志。操作系统错误 = (null)。您可以 如果 Windows 事件日志已满,则需要清除它。

2018-08-22 14:38:06.50 spid4s .NET Framework 运行时已 停止了。

2018-08-22 14:38:06.57 spid4s SQL Server 已关闭 发起

2018-08-22 14:38:06.57 spid4s SQL Trace 由于服务器而停止 关闭。跟踪 ID = '1'。这只是一条信息性消息;不 需要用户操作。

【问题讨论】:

  • 您问,“可能发生了什么导致此异常?” Stack Overflow 无法为您解决问题。错误消息将您指向问题。您是否已开始研究该错误消息和可能的原因?
  • 是的,当然。正如我在帖子中所说,我所看到的一切都与远程访问工作有关,这不适用于这种情况。这是我无法重现的一次性例外。我以为我在帖子里说得很清楚了。我不是要求 Stack Overflow 为我排除故障。请告诉我在独立情况下是否有某些原因可能会发生这种情况。
  • 你知道你的键盘上有一个截图按钮,对吧? :) 它位于 Scroll Lock 和 Pause/Break 键的左侧,位于 Insert、Home 和 Page Up 键的上方
  • 当然。你的意思是什么?
  • 我猜 Larnu 的观点是,它比从其他设备获取图片更省力,而且图像质量会好得多。不过,最好在问题中将错误消息写成文本而不是图像,这样当其他人将来搜索该错误时,他们会找到匹配项。

标签: c# .net sql-server


【解决方案1】:

可能发生了什么导致[与本地实例的间歇性连接失败]?

与此类本地实例的间歇性连接失败强烈表明当您尝试连接时该实例未运行。所以检查 SQL 日志。它们将位于以下文件夹中:

C:\Program Files\Microsoft SQL Server\MSSQLxx.SQLEXPRESS\MSSQL\Log

除了登录失败之外,还会显示所有启动和关闭事件。

【讨论】:

  • 一个有用的回复,谢谢。我看看能不能得到这些信息。
  • 在等待查看是否可以从用户那里获取日志文件时,为什么与远程数据库访问相关的异常表明实例未运行?我试图通过在程序执行期间暂停服务“SQL Server (SQL Express)”来模拟这种情况,并收到消息“System.Data.SqlClient.SqlException (0x80131904): SQL Server service has been paused. No new connections will be允许。要恢复服务,请使用 SQL 计算机管理器或控制面板中的服务应用程序。”所以这没有帮助。如果有某种方法可以解决问题,那将会很有帮助。
  • 我添加了代码,让我在问题发生之前关闭 SQL Server,并收到错误 26 异常,并带有关于远程连接的相同(误导性)消息。现在我知道在哪里寻找潜在的问题。谢谢。
  • 我看到的唯一情况是AppDb5_0数据库在实例启动后30分钟才启动,然后由于系统关闭而停止了实例。什么时候出现错误?
  • 我为所有 7 个错误日志添加了指向原始帖子的链接。
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多