Blazor MS SQL Server:用户登录失败/管道错误结束时没有进程

Posted

技术标签:

【中文标题】Blazor MS SQL Server:用户登录失败/管道错误结束时没有进程【英文标题】:Blazor MS SQL Server: Login failed for user/ No process at end of pipeline error 【发布时间】:2021-09-15 23:50:02 【问题描述】:

我正在尝试使用 IIS 将我的 Blazor 项目连接到 MS SQL 服务器,但我不断收到两个错误。

我最初尝试连接时遇到的第一个错误如下:

Error: System.Data.SqlClient.SqlException (0x80131904): 与服务器建立连接成功,但在登录过程中出现错误。 (提供者:共享内存提供者,错误:0 - 管道的另一端没有进程。) ---> System.ComponentModel.Win32Exception (233): 管道的另一端没有进程。

我重新加载页面时遇到的第二个错误如下:

错误:System.Data.SqlClient.SqlException (0x80131904):用户“User1”登录失败。

从我收集到的信息来看,这似乎是服务器上的某种权限问题,但我无法确定需要更改的位置或内容。这些是我尝试过的一些常见问题。

服务器身份验证:SQL Server 和 Windows 身份验证模式。

允许远程连接:true。

User1:似乎拥有对所有内容的访问/权限。

我还检查了 SQL 日志,发现错误:

用户“User1”登录失败。原因:找不到与提供的名称匹配的登录名。[客户端:] 错误:18456,严重性:14,状态:5

任何帮助将不胜感激。

【问题讨论】:

MSSQLSERVER_18456 似乎确认:状态 5 表示“用户 ID 无效。”有几种可能性... 1) SQL/Windows 登录是基于每个实例配置的 - 目标服务器是否托管多个实例并且您是否连接到正确的实例? 2) 如果您未在连接字符串中指定数据库/初始目录,则应用登录的“默认数据库”设置 - 登录是否映射到具有足够访问权限的数据库用户? Blazor 服务器还是 WASM?编辑您的问题以明确说明。 您需要满足以下条件: 1. 服务器是 IIS 服务器的远程服务器还是本地服务器,是您的开发系统的本地服务器还是远程服务器。如果远程,您可以使用 Management Studio/Visual Studio/无论您使用什么来管理服务器上的数据库从您的开发系统访问服务器。 2. 向我们展示您的连接字符串 - 使用虚假凭据。 3.你使用什么框架来访问数据库 - 实体框架,? 1.服务器是 IIS 服务器的本地服务器,我设置了其他数据库,可以毫无问题地访问这些数据库。 2. 连接字符串似乎不是问题,因为我有另一个具有相同格式的应用程序可以工作。-- Data Source=Server;初始目录=数据库;用户 ID=User1;密码=blahblah1; ApplicationIntent=ReadWrite 3. 使用 Dapper 【参考方案1】:

启用 TCP\IP 协议,然后再次测试。

接下来的步骤:

    关闭防火墙和防病毒软件。 在服务器端和客户端都启用 TCP\IP 协议并使用 1433 端口。 重新启动 SQL 服务并重试。

更多详细步骤:setting-up-management-studio-for-remote-sql-server

更多有用信息:how-to-connect-to-a-remote-sql-server

【讨论】:

以上是关于Blazor MS SQL Server:用户登录失败/管道错误结束时没有进程的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 和 SQL Server 连接(可信来源与传递登录凭据)

使用服务器端 Blazor,在连接到 SQL Server 数据库时如何使用 Windows 身份验证模拟用户?

如何将 returnUrl 传递到 Blazor Server 应用程序中的登录页面?

MS Access / SQL Server 自动登录

MS Access - SQL Server 登录提示不会消失

MS Access 给出 SQL Server 错误“登录超时已过期”,然后连接成功