SQL SERVER数据库删除LOG文件和清空日志的方案

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQL SERVER数据库删除LOG文件和清空日志的方案数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。
原文: SQL SERVER数据库删除LOG文件和清空日志的方案

数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。

一、删除LOG

1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。

image

勾选删除连接

image

分离后在数据库列表将看不到已分离的数据库。

2、删除LOG文件

3、附加数据库,附加的时候会提醒找不到log文件。

image

image

删除数据库信息信息的ldf文件:

image

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

也可以通过命令才完成以上的操作:

use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
 

、清空日志

该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。

DUMP TRANSACTION TestDB WITH NO_LOG

三、收缩数据库文件

DBCC SHRINKFILE ('TestDB_log',1) 

四、截断事务日志

BACKUP LOG TestDB WITH NO_LOG

该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。

 

 

清除SQLServer2005的LOG文件  

--最好备份日志,以后可通过日志恢复数据。。。
以下为日志处理方法
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.
--*/

--下面的所有库名都指你要处理的数据库的库名

1.清空日志
DUMPTRANSACTION 库名 WITH NO_LOG

2.截断事务日志:
BACKUPLOG 库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器
--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--
选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--
选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器
--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:
企业管理器
--服务器--数据库--右键--附加数据库

此法将生成新的LOG,大小只有500多K

或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

a.分离
EXEC sp_detach_db @dbname='库名'

b.删除日志文件

c.再附加
EXEC sp_attach_single_file_db @dbname='库名',
@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf'

5.为了以后能自动收缩,做如下设置:
企业管理器
--服务器--右键数据库--属性--选项--选择"自动收缩"

--SQL语句设置方式:
EXEC sp_dboption '库名', 'autoshrink', 'TRUE'

6.如果想以后不让它日志增长得太大
企业管理器
--服务器--右键数据库--属性--事务日志
--
将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:
alterdatabase 库名 modify file(name=逻辑文件名,maxsize=20)



SQL Server 数据库使用时间一长就会导致Log文件逐渐变的庞大, 想备份一下数据库, 想发给谁都很困难
运行下面的语句就可以 清到Log文件只剩下1M左右的空间.

DUMP TRANSACTION 数据库名 WITH NO_LOG
DBCC SHRINKDATABASE('数据库名',TRUNCATEONLY)

 

不重启SQL服务,删除SQLServer系统日志

SQLServer的系统日志过大,就会引起SQLServer服务器无法启动等一系列问题。今天我遇到了这个问题,在网上搜索了一下,解决方法是删除就 可以了,可是当前的ErrorLog正在被SQL使用无法删除啊,要删除只能停止SQL服务器,难道就没有别得办法了吗?
 
   回答是肯定的:使用以下存储过程: EXEC   sp_cycle_errorlog

注释   
 
  每次启动  SQL Server 时,当前错误日志重新命名为    errorlog.1 errorlog.1    成为   errorlog.2 errorlog.2    成为    errorlog.3 ,依次类推。 sp_cycle_errorlog    使您得以循环错误日志文件,而不必停止而后再启动服务器。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2天前
|
缓存 算法 关系型数据库
SQL DB - 关系型数据库是如何工作的
• 绿:O(1)或者叫常数阶复杂度,保持为常数(要不人家就不会叫常数阶复杂度了)。 • 红:O(log(n))对数阶复杂度,即使在十亿级数据量时也很低。 • 粉:最糟糕的复杂度是 O(n^2),平方阶复杂度,运算数快速膨胀。 • 黑和蓝:另外两种复杂度(的运算数也是)快速增长。 如果要处理2000条元素: • O(1) 算法会消耗 1 次运算 • O(log(n)) 算法会消耗 7 次运算 • O(n) 算法会消耗 2000 次运算
|
3天前
|
SQL 存储 大数据
济南sql数据库工程师
济南SQL数据库工程师是负责管理和维护SQL数据库的专业人员。以下是关于济南SQL数据库工程师的一些详细介绍: 一、岗位职责 1. 负责数据库日常巡检,及时反馈运行状况,并跟踪解决问题,确
42 21
|
3天前
|
SQL 监控 数据库
sql anywhere 数据库优化
\ Anywhere\对于任何数据库系统,优化都是持续的过程,旨在提高查询性能、减少资源消耗并确保数据的完整性和安全性。以下是一些建议,帮助您优化 SQL Anywhere 数据库: 1. **
38 5
|
3天前
|
SQL 监控 安全
sql数据库清除工具
在SQL数据库管理中,清理和优化数据库是一个重要的环节,特别是当数据库日志文件过大时。虽然没有特定的“SQL数据库清除工具”可以一键解决所有问题,但你可以使用多种方法和工具来清理SQL Server数
25 6
|
3天前
|
SQL 关系型数据库 MySQL
sql数据库命令
SQL(Structured Query Language,结构化查询语言)是用于管理关系数据库的标准编程语言。以下是一些常用的 SQL 数据库命令: 1. **创建数据库**: ``
24 7
|
3天前
|
SQL 存储 关系型数据库
sql建数据库
在SQL中,创建数据库的基本语法是使用`CREATE DATABASE`语句。以下是一个简单的示例,演示如何创建一个名为`mydatabase`的数据库: ```sql CREATE DA
19 0
|
3天前
|
SQL 存储 关系型数据库
sql 数据库教程
SQL数据库教程可以从以下几个方面进行介绍: 一、SQL概述与基本概念 SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系型数据库的编程语言。
18 0
|
15天前
|
关系型数据库 MySQL 数据库
mysql数据库bin-log日志管理
mysql数据库bin-log日志管理
|
15天前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
76 1
|
15天前
|
运维 监控 安全
Java一分钟之-Log4j与日志记录的重要性
【5月更文挑战第16天】Log4j是Java常用的日志框架,用于灵活地记录程序状态和调试问题。通过设置日志级别和过滤器,可避免日志输出混乱。为防止日志文件过大,可配置滚动策略。关注日志安全性,如Log4j 2.x的CVE-2021-44228漏洞,及时更新至安全版本。合理使用日志能提升故障排查和系统监控效率。
73 0

热门文章

最新文章