事件ID 18456:用户<域\计算机名>登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误
2015-04-22 12:14
489 查看
事件类型: 审核失败
事件来源: MSSQLSERVER
事件种类: 登录
事件 ID: 18456
日期: 2015-4-22
事件: 11:11:21
用户: 域\计算机名
计算机: 域
描述:
用户 '域\计算机名$' 登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。 [客户端: 192.168.1.183]
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
数据:
0000: 18 48 00 00 0e 00 00 00 .......
0008: 0c 00 00 00 53 00 5a 00 ....
0010: 31 00 43 00 41 00 52 00
0018: 44 00 31 00 2d 00 44 00
0020: 42 00 00 00 07 00 00 00 B......
0028: 6d 00 61 00 73 00 74 00
0030: 65 00 72 00 00 00 e.r...
分析及解决:
现在我们只知道是这台计算机: [域\计算机名 ],IP为:192.168.1.183 ,这台计算机要连接到当前的数据库服务器,才提示“审核失败”
但是不清楚是什么进程或服务连接过来的!所以这错误也没什么可分析了!~
现在打开 【Sql Server Profiler】监控以下事件,注意要选择列【ClientProcessID】:
Error and Warnings \ ErrorLog
Error and Warnings \ ErrorLog
开启跟踪一段时间,直到出现该错误!~
这是可以看到 进程号 ClientProcessID=2136
登录到服务器 192.168.1.183 ,打开【任务管理器】找到 进程号ClientProcessID=2136 的服务
打开计算机服务,发现是这个服务是以“本地系统” 运行的,改为 域管理员或者其他账户运行,不再出现了!
出现这种情况,大都是账户权限不足。
附加:(或者使用T-SQL跟踪)
-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint --跟踪文件的大小,单位是MB,默认不设置为5MB
declare @TraceFilePath nvarchar(500)-- 跟踪文件的路径
set @maxfilesize = 20
set @TraceFilePath=N'G:\ErrorLog_Trace'
exec @rc = sp_trace_create @TraceID output, 0,@TraceFilePath, @maxfilesize, NULL
if (@rc != 0) goto error
-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 22, 7, @on
exec sp_trace_setevent @TraceID, 22, 31, @on
exec sp_trace_setevent @TraceID, 22, 8, @on
exec sp_trace_setevent @TraceID, 22, 64, @on
exec sp_trace_setevent @TraceID, 22, 1, @on
exec sp_trace_setevent @TraceID, 22, 9, @on
exec sp_trace_setevent @TraceID, 22, 41, @on
exec sp_trace_setevent @TraceID, 22, 49, @on
exec sp_trace_setevent @TraceID, 22, 6, @on
exec sp_trace_setevent @TraceID, 22, 10, @on
exec sp_trace_setevent @TraceID, 22, 14, @on
exec sp_trace_setevent @TraceID, 22, 26, @on
exec sp_trace_setevent @TraceID, 22, 3, @on
exec sp_trace_setevent @TraceID, 22, 11, @on
exec sp_trace_setevent @TraceID, 22, 35, @on
exec sp_trace_setevent @TraceID, 22, 51, @on
exec sp_trace_setevent @TraceID, 22, 12, @on
exec sp_trace_setevent @TraceID, 22, 20, @on
exec sp_trace_setevent @TraceID, 22, 60, @on
exec sp_trace_setevent @TraceID, 21, 7, @on
exec sp_trace_setevent @TraceID, 21, 31, @on
exec sp_trace_setevent @TraceID, 21, 8, @on
exec sp_trace_setevent @TraceID, 21, 64, @on
exec sp_trace_setevent @TraceID, 21, 1, @on
exec sp_trace_setevent @TraceID, 21, 9, @on
exec sp_trace_setevent @TraceID, 21, 41, @on
exec sp_trace_setevent @TraceID, 21, 49, @on
exec sp_trace_setevent @TraceID, 21, 6, @on
exec sp_trace_setevent @TraceID, 21, 10, @on
exec sp_trace_setevent @TraceID, 21, 14, @on
exec sp_trace_setevent @TraceID, 21, 26, @on
exec sp_trace_setevent @TraceID, 21, 3, @on
exec sp_trace_setevent @TraceID, 21, 11, @on
exec sp_trace_setevent @TraceID, 21, 35, @on
exec sp_trace_setevent @TraceID, 21, 51, @on
exec sp_trace_setevent @TraceID, 21, 12, @on
exec sp_trace_setevent @TraceID, 21, 20, @on
exec sp_trace_setevent @TraceID, 21, 60, @on
-- Set the Filters
declare @intfilter int
declare @bigintfilter bigint
set @intfilter = NULL
exec sp_trace_setfilter @TraceID, 9, 0, 1, @intfilter
exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler - 179c8ff5-5879-48dd-a4cc-921575b43b84'
-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1
-- display trace id for future references
select TraceID=@TraceID
goto finish
error:
select ErrorCode=@rc
finish:
go
/*
select * from ::fn_trace_getinfo(0)
select * from sys.traces
select * from ::fn_trace_gettable('G:\ErrorLog_Trace.trc',1)
select ClientProcessID,NTUserName,ApplicationName,HostName,LoginName,StartTime,TextData
from ::fn_trace_gettable('G:\ErrorLog_Trace.trc',1)
exec sp_trace_setstatus 2,0 --停止跟踪
exec sp_trace_setstatus 2,2 --删除跟踪
*/
事件来源: MSSQLSERVER
事件种类: 登录
事件 ID: 18456
日期: 2015-4-22
事件: 11:11:21
用户: 域\计算机名
计算机: 域
描述:
用户 '域\计算机名$' 登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。 [客户端: 192.168.1.183]
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
数据:
0000: 18 48 00 00 0e 00 00 00 .......
0008: 0c 00 00 00 53 00 5a 00 ....
0010: 31 00 43 00 41 00 52 00
0018: 44 00 31 00 2d 00 44 00
0020: 42 00 00 00 07 00 00 00 B......
0028: 6d 00 61 00 73 00 74 00
0030: 65 00 72 00 00 00 e.r...
分析及解决:
现在我们只知道是这台计算机: [域\计算机名 ],IP为:192.168.1.183 ,这台计算机要连接到当前的数据库服务器,才提示“审核失败”
但是不清楚是什么进程或服务连接过来的!所以这错误也没什么可分析了!~
现在打开 【Sql Server Profiler】监控以下事件,注意要选择列【ClientProcessID】:
Error and Warnings \ ErrorLog
Error and Warnings \ ErrorLog
开启跟踪一段时间,直到出现该错误!~
这是可以看到 进程号 ClientProcessID=2136
登录到服务器 192.168.1.183 ,打开【任务管理器】找到 进程号ClientProcessID=2136 的服务
打开计算机服务,发现是这个服务是以“本地系统” 运行的,改为 域管理员或者其他账户运行,不再出现了!
出现这种情况,大都是账户权限不足。
附加:(或者使用T-SQL跟踪)
-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint --跟踪文件的大小,单位是MB,默认不设置为5MB
declare @TraceFilePath nvarchar(500)-- 跟踪文件的路径
set @maxfilesize = 20
set @TraceFilePath=N'G:\ErrorLog_Trace'
exec @rc = sp_trace_create @TraceID output, 0,@TraceFilePath, @maxfilesize, NULL
if (@rc != 0) goto error
-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 22, 7, @on
exec sp_trace_setevent @TraceID, 22, 31, @on
exec sp_trace_setevent @TraceID, 22, 8, @on
exec sp_trace_setevent @TraceID, 22, 64, @on
exec sp_trace_setevent @TraceID, 22, 1, @on
exec sp_trace_setevent @TraceID, 22, 9, @on
exec sp_trace_setevent @TraceID, 22, 41, @on
exec sp_trace_setevent @TraceID, 22, 49, @on
exec sp_trace_setevent @TraceID, 22, 6, @on
exec sp_trace_setevent @TraceID, 22, 10, @on
exec sp_trace_setevent @TraceID, 22, 14, @on
exec sp_trace_setevent @TraceID, 22, 26, @on
exec sp_trace_setevent @TraceID, 22, 3, @on
exec sp_trace_setevent @TraceID, 22, 11, @on
exec sp_trace_setevent @TraceID, 22, 35, @on
exec sp_trace_setevent @TraceID, 22, 51, @on
exec sp_trace_setevent @TraceID, 22, 12, @on
exec sp_trace_setevent @TraceID, 22, 20, @on
exec sp_trace_setevent @TraceID, 22, 60, @on
exec sp_trace_setevent @TraceID, 21, 7, @on
exec sp_trace_setevent @TraceID, 21, 31, @on
exec sp_trace_setevent @TraceID, 21, 8, @on
exec sp_trace_setevent @TraceID, 21, 64, @on
exec sp_trace_setevent @TraceID, 21, 1, @on
exec sp_trace_setevent @TraceID, 21, 9, @on
exec sp_trace_setevent @TraceID, 21, 41, @on
exec sp_trace_setevent @TraceID, 21, 49, @on
exec sp_trace_setevent @TraceID, 21, 6, @on
exec sp_trace_setevent @TraceID, 21, 10, @on
exec sp_trace_setevent @TraceID, 21, 14, @on
exec sp_trace_setevent @TraceID, 21, 26, @on
exec sp_trace_setevent @TraceID, 21, 3, @on
exec sp_trace_setevent @TraceID, 21, 11, @on
exec sp_trace_setevent @TraceID, 21, 35, @on
exec sp_trace_setevent @TraceID, 21, 51, @on
exec sp_trace_setevent @TraceID, 21, 12, @on
exec sp_trace_setevent @TraceID, 21, 20, @on
exec sp_trace_setevent @TraceID, 21, 60, @on
-- Set the Filters
declare @intfilter int
declare @bigintfilter bigint
set @intfilter = NULL
exec sp_trace_setfilter @TraceID, 9, 0, 1, @intfilter
exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Server Profiler - 179c8ff5-5879-48dd-a4cc-921575b43b84'
-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1
-- display trace id for future references
select TraceID=@TraceID
goto finish
error:
select ErrorCode=@rc
finish:
go
/*
select * from ::fn_trace_getinfo(0)
select * from sys.traces
select * from ::fn_trace_gettable('G:\ErrorLog_Trace.trc',1)
select ClientProcessID,NTUserName,ApplicationName,HostName,LoginName,StartTime,TextData
from ::fn_trace_gettable('G:\ErrorLog_Trace.trc',1)
exec sp_trace_setstatus 2,0 --停止跟踪
exec sp_trace_setstatus 2,2 --删除跟踪
*/
相关文章推荐
- 用户 'IIS APPPOOL\admin' 登录失败。 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误
- 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误
- 用Windows身份验证访问数据库时,出现“用户 'YSBY-PC\ASPNET' 登录失败。”,这YSBY是我的计算机名。
- SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, er
- 登录失败,Login failed for user 'sa'.[客户端 <named pipe>] 错误:18456,严重性:14,状态:10
- vs.net C# 连接数据库 出现错误 用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联
- sql2000服务器连接时出现用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联【解决方案】
- 注册信息的时候出现错误 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey>
- IM 开源项目 登录服务器 基础表结构<2>
- 基于令牌的服务器访问验证失败
- SQL2005的sa用户登录问题 用户名无法登录sql2005"已成功与服务器建立连接,但是在登录过程中发生错误" 用户"sa"登陆失败,SQL Server错误:18456
- 数据库维护计划中出现错误,数据库无法自动备份。 错误提示:作业失败。所有者(XXX\administrator用户拥有DB维护计划“数据库备份”作业)没有服务器访问权限。
- 在SQL Server中出现 “无法打开用户默认数据库,登录失败” 是什么原因?4046错误
- 登录SQL Server2008出现错误未找到或无法访问服务器,出现与网络相关的或特定于实例的错误。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接
- 用户 'JWSDXSXX\Administrator' 登录失败。 原因: 无法打开明确指定的数据库。 [客户端: <local machine>]
- 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命
- System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管