SQL日志文件的作用】的更多相关文章

服务器意外关闭造成的损失.服务器意外关闭造成的损失.解决数据一致性问题.数据库时点恢复的问题,这四个常见的问题,SQL Server数据库管理员,可以通过了解数据日志文件,轻松排除故障. 当系统出现故障时,只要存在数据日志那么就可以利用它来恢复数据解决数据库故障.作为SQL Server数据库管理员,了解数据日志文件的作用,以及如何利用它来解决一些数据库的常见故障,这非常重要.既然事务日志这么重要,那么他到底可以用来做什么事情呢? 故障一:服务器意外关闭造成的损失. 俗话说,天又不测风云.数据库…
前言 今天算是遇到了一个罕见的案例. SQL日志文件不断增长的各种实例不用多说,园子里有很多牛人有过介绍,如果我再阐述这些陈谷子芝麻,想必已会被无数次吐槽. 但这次我碰到的问题确实比较诡异,其解决方式也是我第一次使用. 下文将为各位看管详细介绍我的解决思路. 现象 一客户反馈数据库的日志文件不断增长,已分配的磁盘空间快使用完,尝试过事务日志截断(事务日志备份)的操作,但没有任何效果. 分析 遇到这个问题,我最直接的感受:肯定有大的事务一直在执行,导致日志备份无法截断事务日志的大小. 首先,我在该…
MySQL中有七种日志文件,分别是: 重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 中继日志(relay log) 错误日志(errorlog) 慢查询日志(slow query log) 一般查询日志(general log) 下面介绍前4种.... 1. redo log a.作用 保持了事务的持久性, 采用循环写的方式将写数据,写入方式请参考https://www.cnblogs.com/zhixinSHOU/p/13214933.html b.内…
1.清除errorlog文件 MSSQL在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 目录下存放这一些日志文件,一共是7个,常常会因为这些日志文件不断增大而导致C盘没有空间 sql2005的error一共有7个,从errorlog,errlog.1一直到errorlog.6要清除这些日志文件的内容,可以在新建查询里执行下面语句: EXEC sp_cycle_errorlog 每执行一次就会产生一个新的errorlog,首先删除…
use mydb ALTER DATABASE mydb SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE mydb SET RECOVERY SIMPLE --简单模式 , TRUNCATEONLY) -- 11是大小 11M ALTER DATABASE mydb SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE mydb SET RECOVERY FULL --还原为完全模式…
一.在一个web 项目中,使用tomcat 启动通常会在控制台输出出现一个警告信息: 通常为未添加 log4j.properties文件的原因. 二.下面以一个普通的maven项目为例说明一下 1. 在maven项目的配置文件pom.xml中已经有日志文件的配置选项,如果需要使用,记得配置进去. <!-- 日志文件 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-ap…
为了方便开发时跟踪调试SQL语句的执行情况,咏南中间件新增SQL日志,所有执行过的SQL都会写入SQL日志文件中. SQLDEBUG设为1,启用:设为0,停止写SQL日志.…
让log4net日志文件自动按月份存放 log4net日志文件的作用还真不小,可以保存管理员.用户对数据库的任何操作,保存管理员和用户的登录记录,分析系统运行错误,所以不舍得随便将日志文件Delete.如果时间长了,日志文件夹一定会有很多很多日志文件,不便于管理员查看. 所以让log4net日志文件自动按月份存放是必须的,其实方法很Easy,额是突发奇想在DatePattern value中增加“yyyyMM\\”,运行后果然如额所愿. 也就是修改Web.Config文件如下: <file va…
简介     之前我已经写了一个关于SQL Server日志的简单系列文章.本篇文章会进一步挖掘日志背后的一些概念,原理以及作用.如果您没有看过我之前的文章,请参阅:     浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架     浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色     浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色     浅谈SQL Server中的事务日志(四)----在完整恢复模式下日…
前言 接下来我们将SQL Server基础系列还剩下最后几节内容结束,后续再来讲解SQL Server性能调优,我们开始进入主题. SQL Server事务对本地变量影响 事务对变量影响具体是指什么意思呢,换句话说就是当我们回滚事务和提交事务之后对本地变量是否起作用呢,下面我们来看下具体例子. PRINT '回滚事务之后测试' DECLARE @FlagINT INT SET @FlagInt = PRINT @FlagInt ---- 此时变量值为1 BEGIN TRANSACTION SET…
简介 之前我已经写了一个关于SQL Server日志的简单系列文章.本篇文章会进一步挖掘日志背后的一些概念,原理以及作用. 数据库的可靠性 在关系数据库系统中,我们需要数据库可靠,所谓的可靠就是当遇见如下两种情况之一时保证数据库的一致性: 在系统崩溃/故障等情况下,保证数据库的一致性 数据不能在多个DML语句同时修改数据的情况下,导致不一致或数据损坏 实际上,上述第二种情况就是并发性所需要解决的问题,传统关系数据库中,我们用锁来解决这个问题,而对于内存数据库或带有乐观并发控制的数据库系统,通过多…
Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Spring Boot 默认的日志配置不会输出到文件,若要打印日志到文件,可以使用如下配置: llogging.level后跟要打印日志的包名或类的全限定名,设置打印级别 日志级别:TRACE < DEBUG < INFO < WARN < ERROR < FATAL logging.le…
本例,快速清理“students”数据库的日志,清理后日志文件不足1M. USE [master] GO ALTER DATABASE students SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE students SET RECOVERY SIMPLE GO USE students GO --此处需要注意,并非所有数据库的日志文件名都是“数据库名_log” DBCC SHRINKFILE (N'students_log' , 0,TR…
记录SQL Server2008日志文件损坏的恢复过程: 环境: 系 统:Windows Server2003 数据库:SQL Server2008 故障原因: 通过mstsc链接同一服务器时,用户界面不一致.决定重启服务器,未正确关闭应用程序的情况下(程序在访问数据库),导致数据库日志文件损坏,自然也就无法访问mdf文件!(都是微软自家的产品,重启服务器为什么不能检查数据库的状态,将数据库设置在安全状态后在重启呢??(有一种解释是:SQL Server为了加快关机的速度,允许使用NOWAIT选…
SQL Server无法收缩日志文件 2 因为逻辑日志文件的总数不能少于 2问题 最近服务器执行收缩日志文件大小的job老是报错 我所用的一个批量收缩日志脚本 USE [master] GO /****** Object: StoredProcedure [dbo].[ShrinkUser_DATABASESLogFile] Script Date: 01/05/2016 09:52:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON…
前言碎语 关于对SQL SERVER 日志文件管理方面了解不多的话,可以参考我的这篇博客文章“MS SQL 日志记录管理”,不过这篇文章只是介绍对SQL SERVER日志记录的深入认知了解,并没有提出如何管理日志文件的方案,如果你有兴趣的话,倒不妨可以钻研一下如何管理.提取日志记录信息,这是数据库精细化管理的一个方面,如果手头管理的服务器过多,事情过多,你很难做到精细化管理!很多事情都忙不过来,需要时间去做! 问题现象 这几天有台数据库服务器一天会收到8封左右的告警邮件,大致内容如下: DATE…
通过文章 SQL Server中“数据收缩”详解 和 SQLServer删除log文件和清空日志的方法 可以整理出一种快速删除数据库日志的方法,即 第一步:清空日志文件里的数据: 第二步:收缩日志文件. 简单执行如下命令: DUMP TRANSACTION 数据库名 WITH NO_LOG; DBCC ShrinkFile(‘数据库名_log’, 1); 相关阅读:SQL Server 2008 R2:快速清除日志文件的方法…
----------------- [1] use master go sp_configure reconfigure with override go ----------------- [2] where dbid=DB_ID('zc_post') ----------------- [3] dbcc rebuild_log('zc_post','d:\zc_post_log.ldg') ----------------- [4] dbcc checkdb('zc_post') -----…
最近发现公司上线的八爪鱼招标网有部分功能出现问题,主要表现为无法向数据库插入数据:远程登陆到数据库服务器时,发现原本的40G空间都被数据库吃完了,于是打开MS SQL Server 2008对数据库进行收缩操作,但能腾出空间非常有限,于是打开数据库目录查看,发现数据库日志文件竟然达到了20多G这么多,所以有了想法清除MS SQL Server 2008的数据库日志文件,具体操作: 1.打开MS SQL Server 2008查询分析窗口 2.在查询分析窗口中输入并执行以下SQL语句: -----…
这个只能是试一下的方法,但不一定能成功,可以尝试如下几个方法: 1.登录远程桌面,然后以.登录SQL Server,并以Windows身份登录,然后再附加数据库时把日志文件删除. 2.试下这个脚本: .新建一个同名的数据库 .再停掉sql server(注意不要分离数据库) .用原数据库的数据文件覆盖掉这个新建的数据库 .再重启sql server .此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) .完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要…
SQL Server 2008 收缩日志 清空删除大日志文件 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)Backup Log DNName with no_loggodump transaction DNName with no_loggoUSE DNNameDBCC SHRINKFILE (2)Go-----------------------------------------------------…
附加数据库,附加的时候会提醒找不到log文件 针对以上现象有两个写法的语句能解决: 写法一: USE MASTER; EXEC sp_detach_db @dbname = 'TestDB'; EXEC sp_attach_single_file_db @dbname = 'TestDB',      @physname =  'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf'   写法…
由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1:先分离数据库 2:为了保险,先不要删除,把LDF文件重命名下 3:附件数据库. 4:OK. 以上可能遇到的问题: 1:有用户连接,无法分离(勾选“断开所有连接”) 2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了…
收缩SQL数据库日志文件 介绍具体的操作方法前,先说下我操作的实际环境和当时的状况.我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版.服务器上安装的是SAP DEV(SAP测试系统)和其数据库,由于同事测试的需要里面copy了6个集团,现在client 6想删除不要,释放一些磁盘空间.当我删除client 6后发现磁盘剩余的空间越来越小,没删除之前还有20多个G呢,结果删除后剩余空间只有7MB多点,当时有种很蒙的感觉.但马上冷静…
1.执行命令示例: EXEC sys.sp_attach_db @dbname = 'AdventrueWorks2012_Data',     @filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ExampleData\AdventureWorks2012_Data.mdf' 2. 补全日志文件 操作方法: 1.创建AdventureWorks2012_Data 名的数据库,将会…
随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法. 1.直接删除log文件(一般不建议) 分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离,如下图 将日志文件和数据文件复制粘贴到另外一个文件夹中以防万一.删除链接,如下图 直接删除日志文件,然后再附加数据库,如下图 附加的时候会自动将ldf文件和mdf文件都附加上,但是会提示找不到ldf文件,没关系,选中ldf文件这一行,点击下面的删除按钮,点击确定就可以了.如下图 如家成功…
由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1:先分离数据库 2:为了保险,先不要删除,把LDF文件重命名下 3:附件数据库. 4:OK. 以上可能遇到的问题: 1:有用户连接,无法分离(勾选“断开所有连接”) 2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了…
1.新建一个同名数据库. 2.停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间.) 3.启动数据库服务,数据库变为置疑或可疑状态.然后在查询分析器中运行: alter database 无日志文件的数据库名称 set emergency 设置为紧急状态. 4.再运行: alter database 无日志文件的数据库名称 set single_user 或者: Sp_dboption '无…
原文:SQL Server日志文件庞大收缩方法(实测好用) 这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果 --截断 BACKUP LOG CloudMonitor TO DISK='NUL' --收缩 DBCC SHRINKFILE('CloudMonitor_log') 以后就可以采用常规的定期备份日志(比如一小时一次)来防止日志文件无限增长. SQL Server日志文件庞大收缩并非易事, 文章中提到: 由于首日志.尾日志和空间重复利用的原因,当备份日志后产生了日志截断…
    前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样…