如何能够以sql语句的方式去获取一段时间内对库的操作语句,我需要的是在一个时间点的操作语句就可以了。
--1.1创建服务器审核对象的操作,必须在master数据库中执行
use master
go
--1.2创建服务器审核对象
create server audit wcc_server_audit
to file
(
filepath = 'C:\', --审核日志的文件路径,或者:APPLICATION_LOG,SECURITY_LOG
maxsize = 500MB, --审核文件可以增大到的最大大小
max_rollover_files = 10, --保留在文件系统中,外加当前文件的最大文件数
reserve_disk_space = off --按MAXSIZE值为磁盘上的文件预先分配大小
)
with
(
queue_delay = 1000, --确定在强制处理审核操作之前,可以延迟的毫秒数
on_failure = continue --当不能写入目标时,sql实例是否关闭
)
--2.创建服务器审核规范,捕获实例范围的事件
create server audit specification wcc_server_audit_specification
for server audit wcc_server_audit
--add (SERVER_ROLE_MEMBER_CHANGE_GROUP),
--ADD (DBCC_GROUP),
--ADD (BACKUP_RESTORE_GROUP)
WITH (STATE = ON )
--3.创建数据库审核规范,捕获数据库范围的事件
create database test
go
use test
go
create database audit specification wcc_database_audit_specification
for server audit wcc_server_audit
--add (DATABASE_PRINCIPAL_IMPERSONATION_GROUP), --跟踪所有模拟行为
add (insert,update,delete,select,execute
on schema::dbo by dbo)
with
(state = on )
alter database audit specification wcc_database_audit_specification
with (state = off)
alter database audit specification wcc_database_audit_specification
add (insert,
update,
delete, --包含了:delete、truncate table
select,
execute
on schema::dbo by dbo)
alter database audit specification wcc_database_audit_specification
add (SCHEMA_OBJECT_CHANGE_GROUP) --有:create、drop、alter(alter、truncate table)
/*
alter database audit specification wcc_database_audit_specification
drop (insert,
update,
delete, --包含了:delete、truncate table
select,
execute
on schema::dbo by dbo)
alter database audit specification wcc_database_audit_specification
drop (SCHEMA_OBJECT_CHANGE_GROUP) --有:create、drop、alter(alter、truncate table)
*/
alter database audit specification wcc_database_audit_specification
with (state = on)
go
--注意:无法从用户数据库中对服务器审核执行更改,
--此操作必须在 master 数据库中执行。
use master
go
--5.开启服务器审核
alter server audit [wcc_server_audit]
with (state = on )
--6.下面这些操作都能审核
use test
go
create table tt1(v1 int,v2 datetime,v3 numeric(10,0))
insert into tt1
values(1,GETDATE(),123)
update tt1
set v3 = 100
delete from tt1
truncate table tt1 --会有2条,一条是DL:就是delete,一条是AL:就是alter
create table tttt(v int)
drop table ttt
select *
from tttt
--显示记录的信息,需要去重,因为会有重复信息
select distinct
af.event_time,
af.statement,
--af.action_id,
af.session_id,
af.server_principal_id,
af.database_principal_id,
af.target_server_principal_id,
af.target_database_principal_id,
af.session_server_principal_name,
af.server_principal_name,
af.database_principal_name,
af.target_server_principal_name,
af.server_instance_name,
af.database_name,
af.schema_name,
af.object_name,
af.object_id,
af.class_type,
af.file_name,
af.audit_file_offset
from fn_get_audit_file('C:\wcc_server_audit_*',
default,
default) af
--inner join sys.dm_audit_actions aa
-- on aa.action_id = af.action_id
-- and aa.class_desc = af.class_
where 1=1
--aa.name in ('INSERT','UPDATE','SELECT','DELETE')
--and aa.class_desc = N'OBJECT'
--and af.schema_name = 'dbo'
--and af.object_name = ''
order by 1 desc
查询分析器执行命令: dbcc sqlperf(logspace) 执行结果如下 把表保存到其他表中 insert into dbo.DbLogSize execute('dbcc sqlperf(logspace) with no_infomsgs')
大家知道在完整恢复模式下,SQLSERVER会记录每个事务所做的操作,这些记录会存储在事务日志里,有些软件会利用事务日志来读取 操作记录恢复数据,例如:log explorer 那么事务日志记录怎麽查看,里面...
SQLServer存储过程如何获取异常信息 在数据库的存储过程中如何做到像程序一样的处理异常,继续走下一步,不让程序直接崩溃。尤其是在事物处理的情况下。下面给大家讲解一下数据库异常处理机制(Begin try Begin ...
大家知道在完整恢复模式下,SQLSERVER会记录每个事务所做的操作,这些记录会存储在事务日志里,有些软件会利用事务日志来读取 操作记录恢复数据,例如:log explorer 那么事务日志记录怎麽查看,里面都记录了...
工作用使用sqlserver数据库常遇到数据库和日志wenj文件过大,简单记录下手动收缩文件大小: 执行代码: use [master] go --alter database dw set recovery simple with no_wait --go alter database ...
(以下内容转载自:...SQL Server 使用Write-ahead logging (WAL)方式保证任何数据变更的日志要比数据变更先发生。在完全恢复模式下,对数据库中任何对象的变更操作都会被记录...
In this article, we will cover SQL Server Transaction log backups, truncate and shrink operations with an overview and examples ... 在本文中,我们将介绍SQL Server事务日志备份,截断和收缩操作,并...
比如在管理、维护 SQL Server 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息:某个数据库中的表和视图的个数以及名称 ;某个表或者视图中列的个数以及每一列的名称、数据类型、长度、...
第一步:运行下面SQL select 'select '''+[name]+''' dbmc,[name],[filename],convert(float,size) * (8192.0/1024.0)/1024 sizes from ['+[name]+'].dbo.sysfiles union all' From master.dbo.sysdatabases where ...
昨天刚好给一个日常使用频率很高的一个重要表单做了日志,下面简单写一下日志表单的创建思路: 1、首先明确日志表的结构,需要哪些字段,哪些是基本应该需要的提示, 一般而言基本包括: People(操作者)、 Date...
-查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files where database_id=db_id(N'数据库名'); --修改文件的存放位置下次启动生效 ...
原文地址:点击打开链接在这篇文章里,我想详细谈下为什么你要避免事务日志(Transaction Log)上的自动增长操作(Auto Growth operations)。很多运行的数据库服务器,对于事务日志,用的都是默认的日志文件大小和...
转自:http://www.cnblogs.com/jintan/archive/2008/11/14/1333879.html园子里前段时间发过一篇通过...2.在更新、删除数据之后,做日志备份,该log备份将用于还原之前的数据 下面步骤的目的:还原被删除的表在SQL ...
在SQL SERVER 2008 R2上测试通过,其它版本请自行测试,使用时无需要切换到对应的数据库上操作 ---------------------- --创建 数据库日志清空 --编写 时间 2019-5-9 ---------------------- --调用 Exec ...
SQLServer 版本之八大方法搞清 "我是谁"你正在使用 SQL Server 的哪个版本? 贴士:作为一个SQL Server数据库管理者或维护、支持人员,应该会经常问自己这样一个问题:我当前SQL Server版本号是?当前版本...
我们在操作表的时候难免会遇到误删除,或者删掉的数据还想恢复的情况。...废话不多说了,下面直接进入正题,通过触发器记录删除日志,避免误删除带来的尴尬。 下面这段sql粘过去直接运行,建立一个存储过程:
仅支持SQL SERVER2008及以上版本 SELECT TOP 1000 –创建时间 QS.creation_time, –查询语句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text...
这篇文章介绍四种实现MSSQL Server审计日志功能的方法探索,即解析数据库事务日志、SQL Profiler、SQL Audit以及Extended Event。详细介绍了这四种方法的具体实现,以及通过优缺点的对比和总结,最终得出结论,使用...
数据库日志文件上G,或者几十G了,使用日志收缩,和日志截断收缩都不管用。体积一直减不下来。。 解决方案 查看日志信息 在查询分析器中执行如下代码来查看日志信息: 1DBCCLOGINFO('数据库名称') 我们...
上一篇文章我讲解了delete操作的回滚日志建立的方法,基于上一篇文章的基础,经过修改和增加,实现update操作的回滚日志的建立。首先要注意的是:这里的update并不只是表的update操作,它包含delete和insert操作,...
Sql Server获取SQL所有数据库名、所有表名、所有字段名
Location: %programfiles%\Microsoft SQL Server\100\Setup Bootstrap\Log\ (%programfiles%这个是环境变量,就是我们通常安装程序文件的路径,具体信息可以参考环境变量配置,或者在命令行窗口中执行如下指令 ...
有一天我发现SQL Server服务器的错误日志中包括非常多关于sa用户的登陆错误信息:“Login failed for user 'sa'. 原因: 评估密码时出错。[客户端: XX.XX.XX.XX]”。可是我很久之前就已经禁用了sa用户,怎么还会有...
SQL Server 2019已经正式公布,虽然只是preview版,但是不影响我们追求新的技术。接下来的一个系列,随着本人的研究,尽量让这个系列成为“教程”,真正的入门到精通。 环境准备 不废话,先把研究环境搭建起来...
元数据简介 元数据 (metadata) 最常见的定义为“有关数据的结构...比如在管理、维护 SQL Server 或是研发数据库应用程式的时候,我们经常要获取一些涉及到数据库架构的信息: 某个数据库中的表和视图的个数连同名
本文详细介绍了 Microsoft SQL Server 数据库的体系结构以及各个组件的功能。包括整体结构,协议层中的TCP/IP协议、共享内存协议、命名管道协议以及TDS协议、关系引擎中的命令解析器、查询优化器、查询执行器 ,存储...
今天使用数据库时,想看一下最新生成的表结构,发现自己这方面的知识简直就是空白,但是我觉得设计数据库的人应该会提供生成表的结构的元信息,所以网上搜一下,发现很多都是使用sysobjects这个系统提供的表,使用...
客户端管理工具进入后:安全性——审核——新建审核——审核目标(就是存储位置)选application log(windows系统应用日志)或者选File(文件目录中会产生一堆日志文件,设置最大滚动更新文件数、最大文件大小)——...
2、主从服务器都开启SQL Server的代理服务,并设置为开机自动启动 3、在数据库配置管理其中把SQL Server服务和SQL Server的代理服务的登录信息设置为上边添加的系统用户,并设置好密码。(记得主从服务器都需要...
1 基本介绍 每个数据库都具有事务日志,用于记录所有... 大容量日志模式,适用于批量操作的数据库,可以以更压缩的方式处理日志,需要定期进行日志备份。 简单模式,也有日志文件,只是该模式下可以通过checkpoin