SQL SERVER - 谁更改了SQL登录密码?
转自:https://blog.sqlauthority.com/2016/04/03/sql-server-changed-password-sql-login-interview-question-week-065/?tdsourcetag=s_pctim_aiomsg
我的客户注意到,随机地,SQL“SA”帐户密码被重置,他们想知道谁在做这件事?我知道SQL Server错误日志不记录登录密码更改事件。所以我的下一个想法是“默认跟踪”应该有这些数据。在我的实验室机器上,我在查询下面运行以查找捕获的事件
|
1
2
3
4
五
6
7
8
9
10
11
12
13
|
DECLARE @Trace_ID INT;SELECT @Trace_ID = idFROM sys.tracesWHERE is_default = 1;SELECT t.EventID ,e.NAME AS Event_DescriptionFROM sys.fn_trace_geteventinfo(@Trace_ID) tINNER JOIN sys.trace_events e ON t.eventID = e.trace_event_idWHERE e.name like '%Audit%'GROUP BY t.EventID ,e.NAME; |
EventID Event_Description
- -------
18审计服务器启动并停止
20审计登录失败
102审计数据库范围GDR事件
103审计架构对象GDR事件
104审计Addlogin事件
105审计登录GDR事件
106审计登录更改属性事件
108审计添加登录到服务器角色事件
109审核添加数据库用户事件
110审核将成员添加到数据库角色事件
111审核添加角色事件
115审核备份/还原事件
116审核DBCC事件
117审核更改审核事件
152审核更改数据库所有者
153审核架构对象获取所有权事件
175审核服务器更改跟踪事件

遗憾的是,SQL Server默认跟踪仅记录审核登录更改属性事件类,而不记录审核登录更改密码事件类。因此,客户端可能需要运行自定义跟踪来跟踪密码更改。
因此,我们别无选择,只能通过新的跟踪进行监控。我想到的另一个想法是我们可以使用fn_dblog来读取事务日志。我告诉我的客户,这个方法是完整无证的。此方法的另一个问题是,如果检查点被触发,则数据将在T-log中刷新,因为主数据库处于简单恢复模型中。但对于他们至少调试系统中发生的事情来说,这是一个很好的开始。
以下是我提供的脚本故障排除方法:
创建登录以进行演示
|
1
2
3
4
五
6
|
USE [master]GOCREATE LOGIN [SQLLogin1] WITH PASSWORD=N'@Very$trongP@ssw0rd123', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFFGO |
用它来更改密码
|
1
2
3
4
|
USE [master]GOALTER LOGIN [SQLLogin1] WITH PASSWORD=N'VerystrongP@ssword123'GO |
查询以查找更改密码的人员
|
1
2
3
4
|
SELECT [Transaction SID] ,suser_sname([Transaction SID]) AS 'Login Name'FROM::fn_dblog(DEFAULT, DEFAULT)WHERE [Transaction Name] = 'ALTER LOGIN' |

查询以查找更改了哪个帐户密码
|
1
2
3
|
SELECT [Lock Information]FROM::fn_dblog(DEFAULT, DEFAULT)WHERE [Lock Information] LIKE '%SERVER_PRINCIPAL%' |

现在我们可以使用下面的内容来查找哪个帐户是270(如上所示)
|
1
2
3
|
SELECT name FROM sys.server_principalsWHERE principal_id = 270 |

你有没有用过这种无证的命令?请谨慎使用,因为这不是受支持的命令。因此请确保您在使用时要小心。我相信你有很多有趣的方式可以使用这个博客,我非常有兴趣了解其中的一些。请告诉我。
SQL SERVER - 谁更改了SQL登录密码?的更多相关文章
- 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决
此版本的 SQL Server 不支持用户实例登录标志.该连接将关闭“的解决(转) 2008-10-04 13:31 错误提示:说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息 ...
- VS连接SQL Server 2008,并实现登录和注册功能
--------------------- 作者:Cambridge 来源:CSDN 原文:https://blog.csdn.net/cambridgeacm/article/details/797 ...
- SQL Server 2014 中,新建登录用户,分配权限,并指定该用户的数据
一.运行环境 系统:Windows 10数据库:SQL Server 2014数据库名: APP 新建的用户名: app 二.操作步骤 1.打开 MS SQL Server Managemen ...
- SQL Server 2008更改数据库保存路径
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=641 操作环境: WindowsXP 数据库: Microsoft SQL Server 2008 操作步骤: 选中 ...
- 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题
今天安装Sql Server之后,出现SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录的问题是由于sql server只设置了Windows身份验证, ...
- 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs
原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...
- SQL Server事务复制(sql 2008 r2)
一.环境准备 1.两个虚拟服务器 主机1:XINXIBU01 作为发布和分发服务器 主 机2:XINXIBU02 192.168.1.160 作业阅服务器 2.SQL SERVER sql 2 ...
- 引用:初探Sql Server 执行计划及Sql查询优化
原文:引用:初探Sql Server 执行计划及Sql查询优化 初探Sql Server 执行计划及Sql查询优化 收藏 MSSQL优化之————探索MSSQL执行计划 作者:no_mIss 最近总想 ...
- 数据库 alert.log 日志中出现 "[Oracle][ODBC SQL Server Wire Protocol driver][SQL Server] 'RECOVER'"报错信息
现象描述: (1).数据库通过调用透明网络实现分布式事务,但透明网关停用后,失败的分布式事务并未清理. (2).数据库 alert 日志 Thu Sep 06 06:53:00 2018 Errors ...
随机推荐
- App store最新审核标准公布
本文转载至 http://blog.csdn.net/shuidonglCH/article/details/47083623 导读:苹果近日更新了App Store审核指南的相关章节,对此前版本进行 ...
- PHP关于=>和->以及::的用法
1.=>的用法 在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如: $css=array('style'=>'0',‘color’=>‘green‘) ...
- .net写入文本到本地
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"d:\test\ErrorLog.txt", t ...
- C# 中文日期 周几
//该语句显示的为英文格式 DateTime.Now.DayOfWeek.ToString(); //显示中文格式星期几 "星期" + DateTime.Now.ToString( ...
- Sencha Touch 实战开发培训 视频教程 第二期 第七节
2014.4.21 晚上8:20左右开课. 本节课视频耗时比较短,不过期间意外情况比较多,录制时间偏长了点. 本期培训一共八节,前两节免费,后面的课程需要付费才可以观看. 本节内容: 视频的录制播放 ...
- requests源码分析
0.前言 (1) 拆部分reques中感兴趣t的轮子 (2)对一些感兴趣的pythonic写法做一些归纳 1.用object.__setattr__来初始化构造函数 反正我之前就是直接实例对象时把所有 ...
- Mysql 的事务隔离级别
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销.Read Uncommitted(读取 ...
- 2527: [Poi2011]Meteors[整体二分]
2527: [Poi2011]Meteors Time Limit: 60 Sec Memory Limit: 128 MB Submit: 1528 Solved: 556 [Submit][S ...
- docker 参数
-a, --attach=[] Attach to STDIN, STDOUT or STDERR 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项 --add-host= ...
- pip安装python包出现Cannot fetch index base URL http://pypi.python.org/simple/
pipinstall***安装python包,出现 Cannot fetch index base URL http://pypi.python.org/simple /错误提示或者直接安装不成功. ...