今天遇到了一个奇怪的问题,公司目前在SQL Server上都采用AD域账号登录,由于账号人数众多,所以我们建立了一个AD Group(域组),将大家的AD账号加入了这个AD Group,然后我们将这个AD Group设置为了SQL Server的账号。按道理说所有在这个AD Group的AD账号都应该可以用SSMS的Windows认证登录SQL Server才对,但是奇怪的事情发生了,所有同事的AD账号都能够在SQL Server所在服务器的远程桌面上用SSMS登录SQL Server(Windows认证),但是在自己的电脑上使用SSMS登录SQL Server(Windows认证)都报错,错误如下:

Login failed for user 'AD\XXX'. (Microsoft SQL Server, Error: 18456)

其中的'AD\XXX'是AD域账号。

但是奇怪的是我将大伙的AD账号而不是AD Group设置为SQL Server账号后,大伙在自己的电脑上又可以用Windows认证登录SQL Server了,但是如果SQL Server账号是AD Group,死活都不行。这时候我在想为什么将AD账号设置为SQL Server账号后可以,但是AD Group设置为SQL Server账号后就不行?后来我发现数据库服务器上SQL Server服务的执行账号居然用的是NT Service账号,如下所示:

我在想是不是因为NT Service账号权限不够,没法访问AD域服务器的AD Group信息,所以导致大伙在自己的电脑上使用Windows认证登录SQL Server失败?

因此我将上图的SQL Server服务的执行账号更换为了一个AD账号,并且该AD账号在数据库服务器的administrators组里面

然后重启SQL Server服务,还是将AD Group设置为SQL Server账号,让大家在自己电脑上还是通过SSMS用Windows认证登录SQL Server,结果大家现在都能登录上了!所以SQL Server在安装时的默认执行账号NT Service并不是万能的,像本文描述的情况就需要更改SQL Server服务的执行账户为一个AD账户,并且将其放在数据库服务器的administrators组里面。

顺便说一下,刚更改SQL Server服务的执行账户后,大伙登录可能会报下面一个错误,怀疑是SQL Server还没和AD域服务器同步,过了五分钟再登录这个错误就消失了,大家在自己的电脑上成功登录了SQL Server

The target principal name is incorrect.  Cannot generate SSPI context. (Microsoft SQL Server, Error: 0)

SQL Server在本地计算机上用SSMS(SQL Server Management Studio)登录不上,错误消息:(Microsoft SQL Server, Error: 18456)的更多相关文章

  1. windows 无法启动 SQL Server (MSSQLSERVER) 服务(位于本地计算机上)。错误 1069由于登入失败而无法启动 。

    windows 无法启动 SQL Server (MSSQLSERVER) 服务(位于本地计算机上).错误 1069由于登入失败而无法启动. 今天登录测试服务器突然出现无法登录的情况,经排查发现,SQ ...

  2. SQL c# 程序报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序.System.Data 需要注意的问题和解决方法: 1.Microsoft.Jet.OLEDB.4.0不要写成Mi ...

  3. 本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的

    本地计算机上的MSSQLSERVER服务启动后又停止了.一些服务自动停止,如果它们没有什么可做的 笔者ASP运行环境:操作系统为Windows XP SP2,IIS的版本为默认的5.1,数据库为SQL ...

  4. win10出现"本地计算机上的MySQL57服务启动后停止"

    在window10下mysql57出现"本地计算机上的MySQL57服务启动后停止.某些服务在未由其他服务或程序使用时将自动停止"错误 环境:win10.MySQL Communi ...

  5. 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

    SQLServer的服务启动问题: 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 出现这个问题导致无法启动SQLServer服 ...

  6. 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0

    从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法 操作系统:使用的是64位的Windows Server 2008 解决办法 ...

  7. win8 X64 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    操作系统是Windows 8 64位,安装了Microsoft Office 2013,从SQL Server 2008中导入Excel文件时出现提示: 未在本地计算机上注册“Microsoft.AC ...

  8. “未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    一.背景: 开发一个工具的小项目,因为数据少,我就不想安装sqlserver数据库,就用Access数据库. 二.问题: 在客户安装程序的时候,接口访问Access数据库的时候,报错“未在本地计算机上 ...

  9. “未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决方案

    不论是连接Access数据库或是SQL Server数据库,"未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序."这个问题从Of ...

随机推荐

  1. js去除字符串中的标签

    var str="<p>js去除字符串中的标签</p>"; var result=str.replace(/<.*?>/ig,"&qu ...

  2. IC 设计中DFT的Boundary Scan功能

    在很大规模的IC设计中,往往会有一些各种各样的bug出现,不论是在前期design的过程,还是在post silicon流片回来chip的flaw,都会导致chip的功能的失败,时钟频率无法达到期望频 ...

  3. SpringBoot学习(二)——Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...

  4. EasyUI 添加一行的时候 行号出现负数的解决方案

    原因是:在jquery_easyui.js 看方法 insertRow : function(_736, _737, row) 以下小代码算行号,if (opts.pagination) { _73c ...

  5. SQL Server T—SQL 学生选课数据库SQL语句考试题(45道题)

    题目  设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1 ...

  6. Nginx初探

    nginx是一款轻量级的web服务器.反向代理服务器和电子邮件服务器,占有内存少,并发能力强. 本文将简单介绍如何安装.启动nginx,部署web项目,应用反向代理. 一.安装 可参考https:// ...

  7. 星系炸弹-2015省赛C语言A组第二题

    星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标.每个炸弹都可以设定多少天之后爆炸.比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸. ...

  8. Linux创建用户等操作

    转自: https://www.linuxidc.com/Linux/2017-06/144916.htm 与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. ...

  9. Herding(hdu4709)三点运用行列式求面积

    Herding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  10. 【C#数据结构系列】线性表

    一:线性表 1.1:定义:零个或多个数据元素的有限序列 1.2: 线性表元素个数n定义为线性表的长度,n = 0称为空表,i 为数据元素ai在线性表中的位序. 1.3:满足线性表的条件:(1):有序, ...