基于令牌的服务器访问验证失败
2014-01-27 15:33
369 查看
2014/01/24重启了数据库服务器,之后在SQL Server日志里就一直出现
消息
Login failed for user 'DOMAIN\WinLogin'. 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。 [客户端: local machine]
这样的错误。
这都是在重启之后才出现的,才想起来在重启之前的曾经修改过所有跟SQL SERVER相关的服务的账号,都修改了为'DOMAIN\WinLogin' 。但是在”安全性”—>”登录名”中没找到'DOMAIN\WinLogin'。
手动创建一个?
USE[master]
GO
CREATELOGIN[DOMAIN\WinLogin]WITHPASSWORD=N'abc123456'MUST_CHANGE,DEFAULT_DATABASE=[master],CHECK_EXPIRATION=ON,CHECK_POLICY=ON
GO
EXECmaster..sp_addsrvrolemember@loginame=N'DOMAIN\WinLogin',@rolename= N'sysadmin'
GO
悲催的
消息15006,级别16,状态1,第1 行
'DOMAIN\WinLogin' 是无效名称,因为其中包含无效字符。
解决:
原来windows用户不能创建为SQL SERVER身份验证,就改为了Windows身份验证。
至此,”基于令牌的服务器访问验证失败”已经没有出现,但是,出现了另外的错误:
消息
Login failedfor user 'DOMAIN\WinLogin'. 原因: 无法打开明确指定的数据库。 [客户端: <local machine>]
已经给了'DOMAIN\WinLogin'这个账号赋予了sysadmin的权限,怎么还会有”无法打开明确指定的数据库”?难道要访问不存在的数据库?(后来证明这个想法是对的!我勒个擦!)
用SQLProfile跟踪,跟踪不出来,应该是只能够跟踪已经执行的记录,而不能正常连接的记录又怎么可能记录下来呢?
自己能用的办法都用尽了, 只好再一次求助于万能的Google了。皇天不负有心人,终于让我找到了:http://www.fanzehua.com/blog/84.html 真的是同病相邻啊!
原来是开了Reportservice服务,这个服务需要访问Reportserver这个数据库,而这台服务器上没有安装这个数据库,所以就”无法打开明确指定的数据库了”。停止了这个服务之后,SQL SERVER日志里就没有出现异常的记录了。
问题虽然解决了,但是我还是有点问题没想明白:
1、 Reportservice的服务是设置为自动启动的,那么以前的账号访问的时候为什么就没有报错呢?
2、 在什么情况下,使用了域账号作为服务的启动访问账号,会自动创建对应的数据库登录账号?必须要手动创建吗?
吐糟: 被这样一件小事情折腾两天,真心想抽自己两巴掌。
附:老大提供的跟踪SQL SERVER 18456错误的方法:
http://www.eraofdata.com/sql-18456-login-failures/
消息
Login failed for user 'DOMAIN\WinLogin'. 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。 [客户端: local machine]
这样的错误。
这都是在重启之后才出现的,才想起来在重启之前的曾经修改过所有跟SQL SERVER相关的服务的账号,都修改了为'DOMAIN\WinLogin' 。但是在”安全性”—>”登录名”中没找到'DOMAIN\WinLogin'。
手动创建一个?
USE[master]
GO
CREATELOGIN[DOMAIN\WinLogin]WITHPASSWORD=N'abc123456'MUST_CHANGE,DEFAULT_DATABASE=[master],CHECK_EXPIRATION=ON,CHECK_POLICY=ON
GO
EXECmaster..sp_addsrvrolemember@loginame=N'DOMAIN\WinLogin',@rolename= N'sysadmin'
GO
悲催的
消息15006,级别16,状态1,第1 行
'DOMAIN\WinLogin' 是无效名称,因为其中包含无效字符。
解决:
原来windows用户不能创建为SQL SERVER身份验证,就改为了Windows身份验证。
至此,”基于令牌的服务器访问验证失败”已经没有出现,但是,出现了另外的错误:
消息
Login failedfor user 'DOMAIN\WinLogin'. 原因: 无法打开明确指定的数据库。 [客户端: <local machine>]
已经给了'DOMAIN\WinLogin'这个账号赋予了sysadmin的权限,怎么还会有”无法打开明确指定的数据库”?难道要访问不存在的数据库?(后来证明这个想法是对的!我勒个擦!)
用SQLProfile跟踪,跟踪不出来,应该是只能够跟踪已经执行的记录,而不能正常连接的记录又怎么可能记录下来呢?
自己能用的办法都用尽了, 只好再一次求助于万能的Google了。皇天不负有心人,终于让我找到了:http://www.fanzehua.com/blog/84.html 真的是同病相邻啊!
原来是开了Reportservice服务,这个服务需要访问Reportserver这个数据库,而这台服务器上没有安装这个数据库,所以就”无法打开明确指定的数据库了”。停止了这个服务之后,SQL SERVER日志里就没有出现异常的记录了。
问题虽然解决了,但是我还是有点问题没想明白:
1、 Reportservice的服务是设置为自动启动的,那么以前的账号访问的时候为什么就没有报错呢?
2、 在什么情况下,使用了域账号作为服务的启动访问账号,会自动创建对应的数据库登录账号?必须要手动创建吗?
吐糟: 被这样一件小事情折腾两天,真心想抽自己两巴掌。
附:老大提供的跟踪SQL SERVER 18456错误的方法:
http://www.eraofdata.com/sql-18456-login-failures/
相关文章推荐
- 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误
- 事件ID 18456:用户<域\计算机名>登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误
- 用户 'IIS APPPOOL\admin' 登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误
- 访问 IIS 元数据库失败 或 W3SVC 的访问权问题解决方法 或 无法在Web服务器上启动调试
- Asp.Net Forms身份验证和基于角色的权限访问
- RHCE 系列(七):在 Linux 客户端配置基于 Kerberos 身份验证的 NFS 服务器
- 基于HttpClient访问服务器以及上传文件
- 【蛙蛙推荐】基于令牌的分布式身份验证
- 巨坑的[INS-30131]执行安装程序验证所需的初始设置失败(原因:无法访问临时位置)
- Nginx服务器设置网站验证访问的方法
- 用Windows身份验证访问数据库时,出现“用户 'YSBY-PC\ASPNET' 登录失败。”,这YSBY是我的计算机名。
- 在IIS中使用Windows域服务器域摘要式身份验证对Web应用程序进行访问控
- 基于apache服务器的网站本地可以访问,局域网内不能访问的问题解决方法
- SSH服务远程访问及控制(1基于口令的安全验证)
- 错误解决:无法在web服务器上启动调试。调试失败,因为没有启用集成window身份验证.
- (基于nodejs)微信测试号(接口配置信息)验证服务器的URL
- 微信公众平台开发者中心服务器配置Token验证失败问题
- 解决vSphere Client提示“由于客户端无法验证服务器的SSL证书,请求失败
- Dmgr管理控制台访问IBM HTTP Administration 服务器时,认证失败