因触发器执行导致登录失败

问题描述 投票:0回答:2

我尝试将“mdf”数据库文件添加到项目中,但出现错误。
如何修复错误?

错误:
尝试连接数据库
失败的;收到以下信息:
由于触发,登录 HOME-PC\Root' 失败 执行。
将数据库上下文更改为 master'。
将语言设置更改为 us_english。*

MSSQLLocalDB
Visual Studio

一起安装

我没有安装

SQL Server

我不想安装
Sql server management studio
SQL Server
,但如果问题无法通过其他方式解决,那么我可以这样做。

我用:

  • Visual Studio 社区 2019;
  • Visual Studio 2022;
  • Windows-10x64;

我找到了一个解决方案,但我不知道它是否适合我以及在哪里输入命令。我害怕让事情变得更糟
https://dba.stackexchange.com/questions/218811/logon-failed-for-login-due-to-trigger-execution

当我尝试完整发布问题时,

stackoverflow.com
会给我关于设计的评论。我不明白如何消除这些评论。 这就是为什么我在在线编辑器中发布问题。

点击链接 -> [详细问题。]

c# sql-server sql-server-express localdb mdf
2个回答
14
投票

对我来说,错误 17892 通过删除安装 Visualstudio 时默认创建的旧 LocalDb 实例并创建一个同名的新实例来消失。

所以请按照以下步骤操作。

  1. 在计算机上打开 powershell 并运行以下命令。
  2. SqlLocalDb info
    
    它应该列出您计算机中的所有 localdb 实例名称。结果应该只显示一个结果
    MSSQLLocalDB
  3. SqlLocalDb delete "MSSQLLocalDB"
    
    它应该删除不工作的现有实例,这将允许创建同名的新实例。 不用担心它不会删除您的数据库文件。结果应该显示:
    LocalDB instance "MSSQLLocalDB" deleted.
  4. SqlLocalDb create "MSSQLLocalDB"
    
    它应该使用默认名称创建一个新的实例。结果应该显示:
    LocalDB instance "MSSQLLocalDB" created with version 15.0.4153.1.
  5. SqlLocalDb info "MSSQLLocalDB"
    
    检查以查看新创建的实例的状态。不要担心实例将显示为已停止,这是正常的。它将在连接后启动。结果应该显示:
    Name:               MSSQLLocalDB
    Version:            15.0.4153.1
    Shared name:
    Owner:              MACHINE_NAME\username
    Auto-create:        Yes
    State:              Stopped
    Last start time:    29/06/2022 3:16:59 pm
    Instance pipe name:
    

就是这样!

现在打开 VisualStudio 或 MSSQL Management Studio 并连接到您的实例,应该没问题。您可以附加任何现有数据库(您的 mdf 和 ldf 文件仍位于您的

%USERPROFILE%
文件夹下。

您可以在此处阅读有关 sqlLocalDb.exe 的更多信息


0
投票

当我将数据库更改为另一台服务器并想要运行 update-database 命令时,我在 .Net Core 5 中遇到此错误 对我来说,问题是我在同一台服务器上有 2 Sql Server,并且由于 sa 用户在不同版本之间是公开的,因此无法连接到我想要的数据库。 安装时 Sql Server 的默认端口是 1433,当您安装另一个版本的 Sql Server 时,您应该为其分配一个端口启用 TCP/IP。 为此,您应该打开 Sql Server [您的 Sql 版本] 配置管理器 最后重新启动sql server

© www.soinside.com 2019 - 2024. All rights reserved.