转自: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 = id
FROM sys.traces
WHERE is_default = 1;
 
SELECT t.EventID
    ,e.NAME AS Event_Description
FROM sys.fn_trace_geteventinfo(@Trace_ID) t
INNER JOIN sys.trace_events e ON t.eventID = e.trace_event_id
WHERE 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]
GO
 
CREATE LOGIN [SQLLogin1] WITH PASSWORD=N'@Very$trongP@ssw0rd123', DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO

用它来更改密码

1
2
3
4
USE [master]
GO
ALTER 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_principals
WHERE principal_id = 270

你有没有用过这种无证的命令?请谨慎使用,因为这不是受支持的命令。因此请确保您在使用时要小心。我相信你有很多有趣的方式可以使用这个博客,我非常有兴趣了解其中的一些。请告诉我。

SQL SERVER - 谁更改了SQL登录密码?的更多相关文章

  1. 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭“的解决

    此版本的 SQL Server 不支持用户实例登录标志.该连接将关闭“的解决(转) 2008-10-04 13:31 错误提示:说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息 ...

  2. VS连接SQL Server 2008,并实现登录和注册功能

    --------------------- 作者:Cambridge 来源:CSDN 原文:https://blog.csdn.net/cambridgeacm/article/details/797 ...

  3. SQL Server 2014 中,新建登录用户,分配权限,并指定该用户的数据

    一.运行环境 系统:Windows 10数据库:SQL Server 2014数据库名: APP     新建的用户名: app 二.操作步骤 1.打开 MS SQL Server Managemen ...

  4. SQL Server 2008更改数据库保存路径

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=641 操作环境: WindowsXP 数据库: Microsoft SQL Server 2008 操作步骤: 选中 ...

  5. 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题

    今天安装Sql Server之后,出现SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录的问题是由于sql server只设置了Windows身份验证, ...

  6. 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs

    原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...

  7. SQL Server事务复制(sql 2008 r2)

    一.环境准备 1.两个虚拟服务器 主机1:XINXIBU01  作为发布和分发服务器   主 机2:XINXIBU02 192.168.1.160  作业阅服务器 2.SQL SERVER sql 2 ...

  8. 引用:初探Sql Server 执行计划及Sql查询优化

    原文:引用:初探Sql Server 执行计划及Sql查询优化 初探Sql Server 执行计划及Sql查询优化 收藏 MSSQL优化之————探索MSSQL执行计划 作者:no_mIss 最近总想 ...

  9. 数据库 alert.log 日志中出现 "[Oracle][ODBC SQL Server Wire Protocol driver][SQL Server] 'RECOVER'"报错信息

    现象描述: (1).数据库通过调用透明网络实现分布式事务,但透明网关停用后,失败的分布式事务并未清理. (2).数据库 alert 日志 Thu Sep 06 06:53:00 2018 Errors ...

随机推荐

  1. VC调用DLL

    VC调用DLL   调用DLL有两种方法:静态调用和动态调用. (一).静态调用其步骤如下: 1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下; 2. ...

  2. iOS - 直播总结(理论到实践)

    一.直播原理及流程 1.一个完整直播app原理 直播原理:把主播录制的视频,推送到服务器,在由服务器分发给观众观看. 直播环节:推流端(采集.美颜处理.编码.推流).服务端处理(转码.录制.截图.鉴黄 ...

  3. SQL —— 获取重复某个字段的第一条记录

    ----------用来双重排序,且获取唯一 go SELECT ROW_NUMBER() OVER (ORDER BY AScore DESC,ATime ASC) AS Rank, * FROM ...

  4. Java连接SqlServer2008数据库

    Java连接SqlServer2008数据库 首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 下 ...

  5. vim 正则替换【转】

    :[range]s/from/to/[flags] range:搜索范围,如果没有指定范围,则作用于但前行. :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换: ...

  6. isolinux.cfg 文件是干什么的

    1.   首先光盘镜像也就是iso文件采用的是“ISO 9660 ”文件系统 . cd上的文件都存在这个简单的iso文件系统里,linux可以用mount  -o loop 直接把*.iso文件mou ...

  7. linux编码问题小节

    今天又碰到了难缠的python编码问题,首先主要还是linux操作系统中的编码问题. 无论怎么样,我都没办法在linux的vim中利用中文输入法打出中文? vim中的set encoding,set ...

  8. VS2003安装Opencv1.0 windows系统 win7

    一.步骤 下载安装opencv1.0     安装文件我上传到百度网盘分享连接 http://pan.baidu.com/s/1o8na0aA 配置电脑windows环境变量 配置VS2003全局设置 ...

  9. 解决jenkins下使用HTML Publisher插件后查看html报告显示不正常

    在jenkins后使用html publisher查看html报告时,发现显示不全,很多东西显示不了. 在查看官方文档后,这原来是安全问题所导致的. Jenkins安全默认是将以下功能都关闭了 1.j ...

  10. Windows 8.1 100% 磁盘使用率解决方案

    前段时间我的win8电脑爆卡!动不动就卡死,一点都动不了. 好不容易打开了任务管理器,发现disk usage: 100%,实在是不理解,磁盘使用率100%怎么会影响流畅度?如果是CPU或内存还好理解 ...