Sqlserver数据库日志太大如何快速删除

简单恢复模式下 使用backup log with NO_log是否没有意义?
1.清空日志
   DUMP  TRANSACTION  库名  WITH  NO_LOG  
2.截断事务日志:
   BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
   企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
    --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
    --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
   也可以用SQL语句来完成
   --收缩数据库
   DBCC SHRINKDATABASE(客户资料)
   --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
   DBCC SHRINKFILE(1)

 代码如下 复制代码
backup, log, 模式
-- 第一步:清空日志
DUMP TRANSACTION [YZGA] WITH NO_LOG
-- 第二步:截断事务日志
BACKUP LOG [YZGA] WITH NO_LOG
-- 第三步:收缩数据库
DBCC SHRINKDATABASE([YZGA])

注意:
尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。

删除日志方法二

1、进入企业管理器,选中数据库,比如it,所有任务->分离数据库。

2、如果数据库正在连接使用,要先点清除,才可以选确定。

3、到数据库文件的存放目录,将it_log.LDF文件删除,不放心可以先拷到别的地方。

4、进入企业管理器,数据库->所有任务->附加数据库。

5、选择it_Data.MDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。

6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

7、以后如果新的日志文件变大了,再继续这个步骤就行了。

时间: 2024-09-10 07:40:43

Sqlserver数据库日志太大如何快速删除的相关文章

分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据

原文:分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前有一段经历 在月初的时候这个数据库曾经置疑过,启动不起来 Could not redo log record (163041:116859:5), for transaction ID (0:-1175226963), on

删除sqlserver数据库日志和没有日志的数据库恢复办法_MsSql

一.删除数据库日志文件的方法 你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错.然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就提供两种删除日志文件的方法,希望能够帮到你! 方法一:手工操作1.数据库->右键->属性->选项-恢复模式->由完成切换成简单2.数据库->右键->任务->收缩-文件->由完成切换成简单->文件类型->日志->将文件收缩到 方法二:存储过程代替手工操作 复制代码 代码如下: --日志文件收缩至多少M 

删除sqlserver数据库日志和没有日志的数据库恢复办法

一.删除数据库日志文件的方法 你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错.然后纠结于怎么删除数据库日志,捣鼓半天吗,现在就提供两种删除日志文件的方法,希望能够帮到你! 方法一:手工操作1.数据库->右键->属性->选项-恢复模式->由完成切换成简单2.数据库->右键->任务->收缩-文件->由完成切换成简单->文件类型->日志->将文件收缩到 方法二:存储过程代替手工操作 复制代码 代码如下:--日志文件收缩至多少M  

数据库问题,一个sql数据库原来只有一张表,现在想分为多表。主要是数据库量太大。怎么效率才会高呢?

问题描述 关键问题是数据量太大,我想写个脚本按照表中某个字段分成十几张表,但是我试了下在转换10G的数据时就需要很长时间,更不要说50g的数据了.各位有什么好办法没有,指点下.脚本里面我是直接这样写的:select*intoEmailLogfromclientadwheredwTypeID1in(131329,132865,131331,132867)godeletefromclientadwheredwTypeID1in(131329,132865,131331,132867)goselect

[C#]log4net写SQLServer数据库日志的配置方法

server|sqlserver|数据|数据库 数据库日志表的准备 在数据库中准备一个这样的表,mail_web_log: 生成脚本: CREATE TABLE [dbo].[mail_web_log] (    [nId] [int] IDENTITY (1, 1) NOT NULL ,     [dtDate] [datetime] NOT NULL ,     [sThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,    

sqlserver 数据库日志备份和恢复步骤_MsSql

--创建测试数据库 CREATE DATABASE Db GO --对数据库进行备份 BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT GO --创建测试表 CREATE TABLE Db.dbo.TB_test(ID int) --延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败) WAITFOR DELAY '00:00:01' GO --假设我们现在误操作删

sqlserver 数据库日志备份和恢复步骤

--创建测试数据库 CREATE DATABASE Db GO --对数据库进行备份 BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT GO --创建测试表 CREATE TABLE Db.dbo.TB_test(ID int) --延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败) WAITFOR DELAY '00:00:01' GO --假设我们现在误操作删

sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享_MsSql

Access 操作很简单,具体不步骤如下:打开你mdb数据库,工具-->数据库实用工具-->压缩和修复数据库(c)... SQL SERVER 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1.设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQLServer-->SQLServer组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数

SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案_MsSql

执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题解决. 记录一下清空日志的命令