• sqllocaldb error code 17892 : Logon failed for login due to trigger execution. Changed database context to‘master’.


    不知道怎么肥4,过完年之后再登录Localdb就出现了这个错误,而且实例无法停止,执行 sqllocaldb stop instancename 报错。由于IT经理要求使用Localdb作为研发数据库因此不得不想办法解决这个问题。网络上的方法基本上都试过了,而且相关的资料非常的少,下面分享下解决方案:

    • 1. 备份数据库文件
      找到项目的数据库文件进行备份。
    • 2. 修改注册表
      输入 regedit 打开注册表管理器,找到 KEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\UserInstances 目录

    UserInstances 中所列出的文件夹即为你当前系统中的数据库实例。倘若你创建了N个实例,你可以通过右侧的 DataDirectory 项的值来区分是哪个实例,该项值是一个文件夹路径,最后一个斜杠后面的即为你的实例名称:

    MSSQLLocalDB 重命名为 MSSSQLLocalDB_old 点击确定。
    此时你在 cmdpowershell 中运行 sqllocaldb i 时将会显示新旧两个名称的实例,不用担心,也不用管它。执行下一步操作后一切都会恢复正常。

    • 3.创建实例
      在控制台或powershell中执行创建实例命令 sqllocaldb create MSSQLLocalDB
      然后启动实例 sqllocaldb start MSSQLLocalDB
      接下来再执行 sqllocaldb i 你会发现之前我们命名为 MSSQLLocalDB_old的实例已经消失了,而且注册表中的项和值也恢复正常(MSSQLLocalDB_old已被自动清理)。
    • 4.恢复数据库
      接下来就是最后一步,通过ssms工具登录localdb后,将之前备份的数据库恢复到当前实例中即可。
  • 相关阅读:
    sizeof和strlen与带汉字字符的
    PS常用工具
    色彩原理和图层混合模式
    文字工具和栅格化
    CreateWaitableTimer和SetWaitableTimer函数(定时器)
    FMod终结篇
    理财达人五步走
    C++中的Union
    关于对于VCMFCATL的评论问题
    FMOD 快速上手
  • 原文地址:https://www.cnblogs.com/nozer1993/p/15883036.html
Copyright © 2020-2023  润新知