在日常运维中,有时会遇到"The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'."这样的报错信息. 此错误消息表明:数据库的事务日志文件空间耗尽,log 文件不能再存储新的transaction log. 这个时候我们需要进行日志收缩.本文将介绍日志收缩的两种方法. 通过图形界面进行日志收缩 第一步:右键数据库属性 第二步:更改数据库恢复模式,将模式改为Simple. 第三步:右键数据库,
EF Core 日志跟踪sql语句 官方文档链接:https://docs.microsoft.com/en-us/ef/core/miscellaneous/logging 1.新增自定义ILoggerProvider实现类 public class EFLoggerProvider : ILoggerProvider { public ILogger CreateLogger(string categoryName) => new EFLogger(categoryName); public
第一步: Use 数据库名 Select NAME,size From sys.database_files 将“数据库名”改为需要清除日志的数据库名字,点击“执行”查询出需要清除的日志名称:**_Log 第二步: Use 数据库名 Select NAME,size From sys.database_files ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAITALTER DATABASE 数据库名 SET RECOVERY SIM
SQL 2008清空日志的SQL语句如下: USE[master] GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE --简单模式 GO USE 要清理的数据库名称 GO , TRUNCATEONLY) --设置压缩后的日志大小为2M,可以自行指定 GO USE[master] GO ALTER DATABASE 要清理的数据库名
一. SQL Server 2008 收缩日志 (1) 使用SQL管理器收缩日志 第一步执行如下命令 ALTER DATABASE platform SET RECOVERY SIMPLE GO 第二步使用SQL管理器:选择要收缩的数据库-->任务-->收缩-->文件 输入文件收缩到:* 大小,点击确认 第三步执行如下命令 ALTER DATABASE platform SET RECOVERY FULL GO 以上操作是以 platform数据库为示例,在操作的过程中替换数据库名即可
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
1.正则表达式的使用 regexp例:select name,email from t where email regexp '@163[.,]com$'使用like方式查询selct name,email from t where email like '%@163.com' or email like '%@163,com' 2.巧用rand()提取随机行select * from t3 order by rand() limit 3; 3.利用group by 的with rollup使用
QQ群里面有人问起这个问题: 用load data 导入数据的时候,在binlog文件中记录的不是insert 语句,这样的话,如果用load data 导入数据,当需要恢复数据库的时候 binlog恢复就不行了 load data local infile '/root/table.txt' into table test.table ; 生成binlog 日志 然后用mysqlbinlog解析binlog日志,再more查看如下: # at 147405 #130718 3:15: