Sql server SQL-“;用户“登录失败”;但是找不到该用户
我有一个情况:在客户的服务器上,同时安装了SQL server 2017和2014。在2014年的一次开发中,我开发了一些运行良好的Sql server SQL-“;用户“登录失败”;但是找不到该用户,sql-server,Sql Server,我有一个情况:在客户的服务器上,同时安装了SQL server 2017和2014。在2014年的一次开发中,我开发了一些运行良好的存储过程。在从2014年到2017年恢复数据库并运行这些过程后,我发现错误: SQLState=28000,NativeError=18456错误=[Microsoft][ODBC驱动程序 13对于用户'ALL\ENTST15$'的SQL Server][SQL Server]登录失败 这个想法是,当我试图添加一个新的登录名时,SQL正在寻找的登录名,我在任何目录中
存储过程。在从2014年到2017年恢复数据库并运行这些过程后,我发现错误:
SQLState=28000,NativeError=18456错误=[Microsoft][ODBC驱动程序
13对于用户'ALL\ENTST15$'的SQL Server][SQL Server]登录失败
这个想法是,当我试图添加一个新的登录名时,SQL正在寻找的登录名,我在任何目录中都找不到它。我有点卡住了
我做错了什么?谢谢
编辑
我相信您在恢复后有孤立的用户:
“数据库”中几乎有用户,但在您还原到的新SQL server中没有用户。本文将详细介绍这些用户,但这些用户是孤立的,如果在服务器上创建新用户并运行内置存储过程,则可以“重新链接”它们
有一个“自动”代码可以解决此问题,人们使用此存储过程编写了此代码:
sp\u更改用户登录
sp_change_users_login [ @Action = ] 'action'
[ , [ @UserNamePattern = ] 'user' ]
[ , [ @LoginName = ] 'login' ]
[ , [ @Password = ] 'password' ]
[;]
您可以在此处阅读有关它的详细信息:
我想每个MSSQL dba都会在某个时候出现在这个位置 好吧,在我尝试了互联网上的所有东西几天后,卸载SQLServer2014
为我成功了。也许不是最推荐的方法,但对我来说很有效。和平 错误18456有不同的描述确切问题的方法,但是您需要查阅错误日志。很可能,您的数据库未包含,并且您没有在服务器上发出CREATE LOGIN
,以允许用户首先登录,从而使用户帐户处于孤立状态。但是,用户首先是什么?它是lie ALL\ENTST15$,其中ALL
代表域,ENTST15$
是实例的名称。ENTST15$
是计算机帐户。至于为什么要用计算机帐户登录,我不知道,我没有运行你的客户端。它是作为网络服务运行的服务吗?(对于SQL Server,无论是本地的还是远程的,这是一个与其他任何帐户一样的帐户,并且需要与其他帐户一样的登录。)@jeroenmoster-我编辑了我的帖子。处理SQL
的查询不使用网络服务,只使用打印屏幕上显示的服务。是否还有其他查询可用,或者存储过程是唯一失败的地方?它是否使用任何类型的链接服务器或到远程服务器的临时连接,这可能意味着问题在于SQL server本身无法登录?那么您是如何开始运行这些存储过程的(即,客户机是什么)?我在两台服务器上都运行了查询,但结果是0行。但是用户首先是什么?它看起来像ALL\ENTST15$
其中ALL
代表域,ENTST15$
是实例的名称。啊,我的答案可能不正确。孤立用户通常指的是混合模式SQL用户,我不确定它是否适用于域用户。