SQL SERVER清除日志的四种方法

合集下载

清除sql日志

清除sql日志
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
一种方法:清空日志。
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
或不能备份日志(truncate log on checkpoint选项为1),那么就无法进行数据的恢复了,或者
只能恢复到最近一次的备份的数据了。
以下简单说明恢复数据方法:
1,如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)

SQLSERVER清除日志的四种方法

SQLSERVER清除日志的四种方法

SQLSERVER清除日志的四种方法SQL Server 是一款功能强大的数据库管理系统,但由于其日志文件的持续增长,可能会占用大量的磁盘空间。

为了解决这个问题,SQL Server 提供了多种方法来清除日志。

本文将介绍 SQL Server 清除日志的四种常见方法。

方法一:备份日志备份日志是最常用的清除 SQL Server 日志的方法之一、备份日志将日志文件中已经提交的事务从日志文件中删除,并将未提交的事务保存在日志中。

这样可以大大减小日志文件的大小,释放磁盘空间。

备份日志的具体步骤如下:1. 在 SQL Server Management Studio 中选择要备份日志的数据库。

2.右键单击数据库,选择“任务”>“备份”。

3.在“备份数据库”对话框中,选择“事务日志”。

4.在“备份到”下拉列表中选择备份文件的位置和名称。

5.单击“确定”开始备份日志。

备份日志的频率取决于数据库的需求,可以每天备份一次,也可以根据业务需求更频繁地备份。

方法二:备份并截断日志备份并截断日志是另一种清除 SQL Server 日志的常见方法。

该方法包括备份日志和截断日志两个步骤。

备份日志的作用是和方法一相同,截断日志的作用是删除已经备份的日志,释放磁盘空间。

备份并截断日志的具体步骤如下:1. 在 SQL Server Management Studio 中选择要备份和截断日志的数据库。

2.右键单击数据库,选择“任务”>“备份”。

3.在“备份数据库”对话框中,选择“事务日志”。

4.在“备份到”下拉列表中选择备份文件的位置和名称。

5.单击“确定”开始备份日志。

6. 在 SQL Server Management Studio 中选择要截断日志的数据库。

7.右键单击数据库,选择“任务”>“收缩”>“数据库文件”。

8.选择“日志文件”,设置“收缩动作”为“释放未使用的空间”,并选择“重新组织文件以使空间最优化”,然后单击“确定”开始截断日志。

清除SQL SERVER错误日志出现操作系统错误解决方案

清除SQL SERVER错误日志出现操作系统错误解决方案

清除SQL SERVER错误日志出现操作系统错误的解决方案之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发现才十几个G的,而硬盘总空间有126G,因此进一步检查了这个磁盘空间,发现才三十多个G,一开始感觉很纳闷,为什么会缺少将近90G 呢?后来发现是原来windows账号的关系,之前用的登录账号权限有限,无法获取磁盘的所有空间容量,因此换了管理员的账号登录后,发现原来是SQL SERVER有一个错误日志的容量将近90G,总算找到磁盘满的原因了,下一步就是如何去解决它。

一开始听了同事的建议,直接通过文件剪贴的方式把这个SQL SERVER 错误日志文件直接移动到另外一个硬盘上,折腾了好几个小时最终以失败告终,说明错误日志被系统进程占用着,并不能通过这个暴力方式进行,因此走回正轨,通过SQL SERVER维护命令进行操作,最终成功清除了90G的错误日志文件,具体过程如下:由于默认情况下,SQL Server 保存7 个ErrorLog 文件,名为:ErrorLogErrorLog.1ErrorLog.2ErrorLog.3ErrorLog.4ErrorLog.5ErrorLog.6--清除SQL Server 错误日志文件存档EXEC sp_cycle_errorlogGO执行一次EXEC sp_cycle_errorlog就会产生一个新的errorlog,然后把errorlog.6给删掉。

数据库2008清理日志

数据库2008清理日志

数据库2008清理日志
清理数据库日志是一个常见的操作,特别是在数据库日志文件
过大或者需要释放磁盘空间的情况下。

在SQL Server 2008中,你
可以通过以下几种方法来清理数据库日志:
1. 备份日志,最常见的清理数据库日志的方法是通过备份日志
文件。

你可以使用SQL Server Management Studio (SSMS)或者Transact-SQL命令来进行日志备份。

通过备份日志,数据库引擎会
将已经提交的事务从日志文件中清除,从而释放空间。

2. 收缩日志文件,你可以使用DBCC SHRINKFILE命令来收缩日志文件的大小。

但是在使用这个命令之前需要注意,收缩日志文件
可能会导致日志文件的不连续性,影响性能,因此建议在非高峰期
进行操作。

3. 更改恢复模式,如果你的数据库处于完整恢复模式下,你可
以考虑将其改为简单恢复模式,这样可以减少日志文件的增长速度。

但是需要注意的是,这样做会影响到数据库的恢复能力,需要谨慎
操作。

4. 限制日志文件增长,你可以通过设置日志文件的初始大小和自动增长选项来限制日志文件的增长,避免日志文件过大。

需要注意的是,在清理数据库日志的过程中,一定要确保数据库的完整性和可恢复性,避免造成数据丢失或者损坏。

另外,在进行任何数据库操作之前,建议先在测试环境中进行测试,以避免意外情况的发生。

清除SQLServer数据库日志(SqlServer2005)

清除SQLServer数据库日志(SqlServer2005)

今天把服务器上的论坛数据库附加到本地,附加过程中就觉得不对劲,速度奇慢,附加完一看,日志文件整整占了23G。

必须清除掉,不然太占空间了。

上网找了个清除日志的方法。

我在清除过程中用了第1,2,3,5步骤,顺利将日志文件BBS_log.ldf从23G变为了1M。

我执行如下:1.清空日志DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小)右键数据库->任务->收缩->数据库->确定4.将数据库设为自动收缩右键数据库->属性->选项->自动->自动收缩设为True原文如下:--压缩日志及数据库文件大小1.清空日志DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCC SHRINKFILE(1)4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)a.分离数据库:企业管理器--服务器--数据库--右键--分离数据库b.在我的电脑中删除LOG文件c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库此法将生成新的LOG,大小只有500多K或用代码:下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

清理 sql server 数据库日志的几种方法

清理 sql server 数据库日志的几种方法

清理 SQL Server 数据库日志的几种方法随着企业数据量的不断增加,数据库的日志文件也会随之增长。

数据库日志文件的不断增长会消耗大量磁盘空间,甚至会影响数据库的性能。

定期清理数据库日志是数据库管理的一个重要环节。

本文将介绍清理 SQL Server 数据库日志的几种方法,帮助数据库管理员解决数据库日志文件过大的问题。

一、备份事务日志1. 利用 SQL Server Management Studio (SSMS) 进行备份通过使用 SSMS,可以进行数据库事务日志的定期备份。

在 SSMS 中选择要备份的数据库,右键点击“任务”->“备份”,在备份类型中选择“仅事务日志”,即可完成事务日志的备份。

2. 利用 T-SQL 命令进行备份在 SQL Server 中,可以通过使用 T-SQL 命令进行事务日志的备份。

例如:```BACKUP LOG [数据库名] TO DISK = '备份文件路径' WITH NOFORMAT, NOINIT, NAME = '备份名称', SKIP, NOUNLOAD, STATS = 10```通过上述两种备份方式,可以定期备份数据库的事务日志,避免日志文件过大。

二、修改日志文件的增长方式1. 修改日志文件增长的百分比在数据库管理中,可以通过修改数据库的日志文件的增长百分比来控制日志文件的增长。

通过减小增长百分比,可以减缓日志文件的增长速度,从而减少磁盘空间的消耗。

2. 修改日志文件的增长大小除了修改增长百分比外,还可以通过修改日志文件的增长大小来控制日志文件的大小。

将增长大小设置为一个合适的值,可以避免日志文件过大,减少磁盘空间的占用。

三、截断事务日志1. 利用 SQL Server Management Studio (SSMS) 进行截断通过使用 SSMS,可以对数据库的事务日志进行截断。

在 SSMS 中选择要截断的数据库,右键点击“任务”->“收缩”->“文件”,选择要收缩的文件类型为“日志”,即可完成事务日志的截断。

SQLServer清空日志以及查看日志大小语句

SQLServer清空日志以及查看日志大小语句

SQLServer清空⽇志以及查看⽇志⼤⼩语句
为了安全起见,使⽤的时候,先数据备份⼀遍
--1.在SQL2008中清除⽇志就必须在简单模式下进⾏,等清除动作完毕再调回到完整模式,⼀定必务要再改回完整模式,不然数据库就不⽀持时间点备份了。

--1).选择数据库–属性—选项—恢复模式–选择简单。

--2).收缩数据库后,再调回完整。

--2.可以⽤命令直接操作
USE[master]
GO
ALTER DATABASE QxunActivityTest SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE QxunActivityTest SET RECOVERY SIMPLE --简单模式
GO
USE QxunActivityTest
GO
DBCC SHRINKFILE (N'QxunActivityTest_log' , 2, TRUNCATEONLY) --设置压缩后的⽇志⼤⼩为2M,可以⾃⾏指定
GO
USE[master]
GO
ALTER DATABASE QxunActivityTest SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE QxunActivityTest SET RECOVERY FULL --还原为完全模式
GO
--查看⽇志⼤⼩(所有的)
dbcc sqlperf(logspace)
另外还有⼀种是直接在数据库本地操作的。

多方法清理SQL server日志

多方法清理SQL server日志

多方法清理SQL Server日志1.手动清理1. 将恢复模式改成“简单”右键要清理的数据库名-属性,切换到选项,将恢复模式修改为简单,如下图1,然后点确定。

2、收缩日志还是右键要清理的数据库名—任务—收缩—文件,按如图2进行设置,设置完后点确定即可3.清理完手动恢复完整模式二、自动清理(使用SQL代理定时执行清理任务)1、新建作业如下图3,我们右键作业—新建作业即可开始新建一个作业了USE [master]GOALTER DATABASE 数据库名称SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY SIMPLE --简单模式GOUSE 数据库名称GODBCC SHRINKFILE (N'DEMO_log' , 1, TRUNCATEONLY)--将数据库日志文件收缩到1MGO------DEMO_LOG是日志文件名称,可以新建查询用select * from sys.database_files查看USE [master]GOALTER DATABASE 数据库名称SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY FULL --还原为完全模式GO三、新建维护计划定时清理1.维护计划向导2.选择维护任务3.选择需要收缩的数据库之后,下一步至完成4.视图--工具箱--把执行I-SQL语句拉到右窗品--把收缩数据库箭头关联至“执行T-sql语句”5.双击“执行T-SQL语句”任务,打开对话框键入语句5.记得编辑“新建作业计划”。

SQLSERVER清除日志的四种方法

SQLSERVER清除日志的四种方法

SQLSERVER清除日志的四种方法SQL Server是一种关系型数据库管理系统,它将数据存储在表格中,并使用结构化查询语言(SQL)来管理和操作这些数据。

在SQL Server中,日志文件用于记录数据库的各种操作,包括插入、更新和删除数据的操作。

随着时间的推移,日志文件可能会变得庞大,导致数据库性能下降。

为了解决这个问题,SQL Server提供了多种方法来清除日志。

1.使用备份和恢复备份和恢复是清除日志的最常用方法之一、通过定期备份数据库并将日志截断,可以清除日志文件并释放空间。

备份可以选择完整备份、差异备份或增量备份。

完整备份将整个数据库备份到一个文件中,差异备份将备份自上次完整备份以来发生更改的部分,增量备份则只备份自上次备份以来发生更改的部分。

备份完成后,可以通过将数据库设置为简单恢复模式或完全恢复模式来截断日志,以释放日志空间。

2.使用事务日志管理SQL Server提供了事务日志管理功能,可以帮助清除日志。

通过调整事务日志的大小和日志增长的百分比,可以限制日志文件的增长。

可以使用以下命令来管理事务日志大小和增长:- ALTER DATABASE <database_name> SET RECOVERY SIMPLE:将数据库设置为简单恢复模式,该模式只保留最近的日志信息,并定期截断日志。

- ALTER DATABASE <database_name> MODIFY FILE (NAME =<log_file_name>, SIZE = <new_size>):调整日志文件的大小。

- ALTER DATABASE <database_name> MODIFY FILE (NAME =<log_file_name>, FILEGROWTH = <new_growth>):调整日志文件的增长百分比。

3.使用事务日志备份和清除除了备份和恢复,SQL Server还提供了事务日志备份和清除功能。

SQL2000日志清理方法

SQL2000日志清理方法

SQL2000日志清理方法SQL Server 2000是一个非常古老的数据库管理系统,虽然已经过时,但仍然有一些组织使用它。

在SQL Server 2000中,日志文件经常会变得非常大,占用大量磁盘空间。

为了有效管理和清理日志文件,以下是一些可以使用的方法。

1.设计合适的恢复模式SQL Server 2000有三种恢复模式:完全恢复模式、大容量日志恢复模式和简单恢复模式。

对于需要恢复到特定时间点的组织,可以选择完全或大容量日志恢复模式,但需要定期备份日志文件和清理旧的备份。

对于一些不需要恢复到特定时间点的组织,可以选择简单恢复模式,它会自动清除日志文件。

2.定期备份日志文件在完全恢复模式或大容量日志恢复模式下,定期备份日志文件非常重要。

这样可以释放事务日志,使其不再继续增长。

可以使用`BACKUPLOG`命令来备份日志文件,并设置相应的计划任务以确保定期备份。

3.缩减日志文件当执行一次日志备份后,`BACKUPLOG`命令可以触发事务日志的缩减。

可以使用`DBCCSHRINKFILE`命令来缩减日志文件的大小,从而释放磁盘空间。

但需要注意,缩减日志文件可能导致性能下降,因此需要在低峰期执行。

4.数据库挂起和启动将数据库挂起并重新启动可以清除事务日志并释放磁盘空间。

可以使用 `ALTER DATABASE [DatabaseName] SET ONLINE/OFFLINE` 命令来完成这个操作。

挂起数据库会中断对数据库的访问,因此需要在低峰期执行。

5.自动备份和清理使用SQL Server代理任务和T-SQL命令,可以创建计划任务来自动备份和清理日志文件。

可以定期执行 `BACKUP LOG` 和 `DBCC SHRINKFILE` 命令,以确保日志文件的大小保持在合理的范围内。

6.监控日志文件大小和使用率7.定期查询性能和优化定期查询数据库性能和优化可以帮助提高数据库的整体性能,并防止日志文件过大。

sqlserver清理日志语句

sqlserver清理日志语句

sqlserver清理日志语句SQL Server 是一种常用的关系型数据库管理系统,它支持创建、更新和查询数据库中的数据。

在使用 SQL Server 进行数据库操作时,会生成一些日志来记录操作的详细信息。

然而,这些日志会占用大量的存储空间,因此我们经常需要对日志进行清理,以保证数据库的正常运行。

下面是一些常用的 SQL Server 清理日志的语句,我们可以根据需要选择执行相应的操作。

1. 查看数据库日志文件的占用情况使用以下语句可以查看数据库的日志文件及其占用的空间大小,以便评估需要清理的空间量。

```SQLUSE [数据库名];DBCC SQLPERF(logspace);```2. 备份日志并截断备份日志是一种常用的清理日志的方法,它将当前的日志备份到一个指定的位置,并且截断日志文件。

执行备份操作后,我们可以根据实际需求选择是否保留备份文件。

```SQLUSE [数据库名];BACKUP LOG [数据库名] TO DISK = '备份文件路径';DBCC SHRINKFILE (N'日志文件名', 0, TRUNCATEONLY);```3. 收缩日志文件如果我们不想备份日志文件,也可以通过收缩文件来清理日志。

收缩操作会重新组织日志文件,以减少其占用空间。

需要注意的是,收缩操作可能会影响数据库的性能,因此需要慎重使用。

```SQLUSE [数据库名];DBCC SHRINKFILE (N'日志文件名', 0);```4. 更改日志文件的增长设置我们还可以通过更改日志文件的增长设置来控制日志文件的大小。

可以调整日志文件的初始大小和自动增长量,以适应实际需求。

```SQLUSE [数据库名];ALTER DATABASE [数据库名]MODIFY FILE (NAME='日志文件名', SIZE=新的初始大小和增长量);```以上是一些常用的 SQL Server 清理日志的语句,可以根据需要选择合适的方法来清理数据库的日志。

sqlserver2008清除日志方法

sqlserver2008清除日志方法

sqlserver2008清除日志方法清除日志是SQL Server管理中的一个重要操作,可以帮助释放磁盘空间并提高数据库性能。

本文将介绍SQL Server 2008中清除日志的方法和操作步骤。

在SQL Server 2008中,可以通过备份日志和截断日志两种方式来清除日志。

下面将分别介绍这两种方法的具体步骤。

一、备份日志备份日志是清除日志的常用方法之一,它将已完成的事务日志备份到一个或多个备份介质上,并将这些已备份的日志从事务日志中删除。

备份日志的操作步骤如下:1. 打开SQL Server Management Studio,并连接到目标SQL Server 2008数据库实例。

2. 在对象资源管理器中,展开“数据库”节点,找到目标数据库。

3. 右键单击目标数据库,选择“任务”->“备份”。

4. 在“备份类型”下拉菜单中选择“日志”。

5. 在“目标”部分,选择备份日志的目标位置,可以是磁盘、磁带或网络共享路径。

6. (可选)在“备份集”选项卡中,可以指定备份集的名称和描述信息。

7. 点击“确定”开始备份日志。

备份日志完成后,已备份的日志将从事务日志中删除,从而实现了清除日志的目的。

二、截断日志截断日志是另一种清除日志的方法,它将已完成的事务日志从事务日志中删除,但不备份到其他介质上。

截断日志的操作步骤如下:1. 打开SQL Server Management Studio,并连接到目标SQL Server 2008数据库实例。

2. 在对象资源管理器中,展开“数据库”节点,找到目标数据库。

3. 右键单击目标数据库,选择“属性”。

4. 在“选项”页面中,找到“恢复模式”选项,将其设置为“简单”模式。

5. 点击“确定”保存更改。

6. 在对象资源管理器中,右键单击目标数据库,选择“任务”->“收缩”->“文件”。

7. 在“文件类型”下拉菜单中选择“日志”。

8. 点击“确定”开始截断日志。

清理SQLSERVER事务日志

清理SQLSERVER事务日志
先分离数据库然后删掉日志文件接下来再attach数据库sql会显示日志文件丢失按确定attach的时候会提示你创建新的日志文件只要确定即可完成简单方便
清理 SQLSERVER事务日志
今天发现数据库事务日志竟然达到500多M,这也难怪,修改数据如此频繁 想要清理,发现没有办法,上GOOGLE上一搜,在ZDNET上找到答案也 先分离数据库,然后删掉日志文件,接下来再attach数据库,SQL会显示日志文件丢失,按确定ATTACH的时候,会提示你创建新的日志文件,只要 确定即可完成,简单方便 不过,需要提醒的是,第一,在删除日志前,最好将老的日志文件全都备份一下 第二,如果你的事务日志存放于多个物理文件中,那么,上面的方面就没办法帮你清理喽
不过,下面的方法绝对快 backup log db_name with no_log dbcc shrinkfile (northwind_l

SQL Server自动备份 自动清除日志文件

SQL Server自动备份 自动清除日志文件

在指定备份计划时候,由于需要每日备份,因此要更改调度。点击“更改”编辑调度。发生频率选择每天;每日频率选择作业开始时间,最好选择数据库访问量小时进行,多为半夜时间,可根据流量图确定具体时间;持续时间通常不用做改动,开始日期为编辑日期,无结束日期。
编辑好上述维护计划后,还要注意下 sql server代理服务是否启动了,因为每日调度维护计划是要启动这个服务才能执行的。如果该服务没有启动,需要手动启动一下,这是可以在其子项“作业”中看到刚刚添加过的数据库维护计划。
BACKUP LOG DBName WITH NO_LOG
DBCC SHRINKDATABASE(DBName )
DBCC SHRINKFILE(1)
上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。 如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。
打开企业管理器,进入“管理”-“sql server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。
转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中填写以下命令:
1、每日自动备份
打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”;点击“下一步”选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;“下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,最后设定维护作业名称;通常来说,如果只需要备份数据库文件,则只需要指定备份计划以及存放位置即可,其他项目不做改动。

SQLServer清空删除日志的技巧

SQLServer清空删除日志的技巧

GO ‘这里的 DNName_Log 如果不知道在 sys.database_files 里是什幺名字的
话,可以用以下注释的语句进行查询 ‘USE DNName ‘GO ‘SELECT file_id, nameFROM sys.database_files; ‘GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式 GO
SQL2008 清空删除日志: ‘在 SQL2008 中清除日志就必须在简单模式下进行,等清除动作完毕再调 回到完全模式。 复制代码 代码如下: USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式 GO USE DNName GO DBCC SHRINKFILE (N’DNName_Log’ , 11, TRUNCATEONLY)
SQLServeห้องสมุดไป่ตู้ 清空删除日志的技巧
大家知道 SQLServer 清空删除日志吗?下面我们就给大家详细介绍一下 吧!我们积累了一些经验,在此拿出来与大家分享下,请大家互相指正。 SQL2005 清空删除日志: 复制代码 代码如下: Backup Log DNName with no_log ‘这里的 DNName 是你要收缩的数据库 名,自己注意修改下面的数据库名,我就不再注释了。 go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go

sqlserver 清理日志语句

sqlserver 清理日志语句

sqlserver 清理日志语句摘要:1.引言2.SQL Server 日志概述3.清理日志的必要性4.SQL Server 日志清理策略5.清理日志的SQL 语句6.总结正文:SQL Server 清理日志语句在SQL Server 中,日志文件是非常重要的组成部分,用于记录数据库的操作过程。

然而,随着数据库操作的不断进行,日志文件会不断增长,导致系统性能下降。

因此,定期清理日志文件是维护数据库稳定运行的重要措施之一。

SQL Server 日志概述SQL Server 日志分为两种类型:事务日志和数据日志。

事务日志记录数据库中所有的事务操作,而数据日志记录数据页的变化。

这两种日志共同保证了数据库的完整性和可恢复性。

清理日志的必要性随着日志文件的不断增长,会占用大量的磁盘空间,影响数据库的性能。

此外,过多的日志文件还会导致备份和恢复操作变得复杂和耗时。

因此,定期清理日志文件是十分必要的。

SQL Server 日志清理策略SQL Server 提供了多种日志清理策略,包括:1.自动清理:SQL Server 会自动删除不需要的日志文件。

默认情况下,事务日志文件在事务提交后保留7 天,数据日志文件在数据页发生变化后保留10 分钟。

2.手动清理:管理员可以通过执行SQL 语句手动清理日志文件。

例如,可以使用`BACKUP LOG`语句备份事务日志,然后使用`DROP LOG`语句删除事务日志;使用`DBCC SHRINKFILE`语句收缩数据日志文件。

清理日志的SQL 语句以下是一些常用的清理日志的SQL 语句:1.备份事务日志:```BACKUP LOG database_name```2.删除事务日志:```DROP LOG database_name```3.收缩数据日志文件:```DBCC SHRINKFILE (database_name, log_file_name)```总结SQL Server 日志文件对于数据库的运行至关重要,但过大的日志文件会影响系统性能。

【2018-2019】sql清理日志-word范文模板 (11页)

【2018-2019】sql清理日志-word范文模板 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==sql清理日志篇一:SQL Server201X日志清除Sql数据库日志清除方法一、简单方法1、右键数据库→属性→选项→故障还原模型→设为简单→确定;2、右键数据库→所有任务→收缩数据库→确定;3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。

二、复杂方法1、清空日志DUMP TRANSACTION 库名 WITH NO_LOG2、截断事务日志BACKUP LOG 数据库名 WITH NO_LOG3、收缩数据库文件(如果不压缩,数据库的文件不会减小)企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至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.分离E(来自:WWw. : sql清理日志 )XEC sp_detach_db @dbname = 'pubs'b.删除日志文件c.再附加EXEC sp_attach_single_file_db @dbname = 'pubs',@physname ='c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'5、为了以后能自动收缩,做如下设置企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" --SQL语句设置方式:EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'6、如果想以后不让它日志增长得太大企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小) --SQL语句的设置方式:alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)篇二:SQL_Server_自动清除日志文件方法SQL Server自动备份清除日志文件一、自动备份数据库日志打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”;点击“下一步”选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;“下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,最后设定维护作业名称;通常来说,如果只需要备份数据库文件,则只需要指定备份计划以及存放位置即可,其他项目不做改动。

几种清除MSSQL日志的方法

几种清除MSSQL日志的方法

方法一、MS SQL清除日志的命令如何清除sql server 日志?设置数据库为简单模式,自动收缩1.打开查询分析器,输入命令backup log databasename with no_log2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M 数,直接输入这个数,确定就可以了。

dbcc shrinkfile (databasename_log,truncateonly)方法三、1: 删除LOG第1步:分离数据库企业管理器->服务器->数据库->右键->分离数据库第2步:删除LOG文件第3布:附加数据库企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有500多K再将此数据库设置自动收缩方法四、EXEC sp_detach_db @dbname = 'pubs'EXEC sp_attach_single_file_db @dbname = 'pubs',@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'方法五、Use Database_NameBackup Log Database_Name With No_logdbcc shrinkfile (Database_Name_Log,truncateonly)Go直接在查询分析那里执行backup log databasename with no_log然后回到企业管理器把数据库收缩一下(可能需另外设置属性)如果以后,不想要它变大。

SQL2000下使用:在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

或用SQL语句:alter database 数据库名set recovery simple另外,Truncate log on checkpoint(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True Auto shrink定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要操作的数据库名
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
方法二:
设置检查点,自动截断日志 源自一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
解决方法: MS SQL SERVER日志增长非常快,使用时间长了以后,日志文件会很大,占用很大的硬盘空间,因此需要定时清除日志,可以采用以下四种方法:
方法一:
1、打开查询分析器,输入命令
BACKUP LOG database_name WITH NO_LOG
2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
方法三:删除日志文件。
此方法有一定的风险性,因为sql server的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。1、操作前请断开所有数据库连接。
文档编号: WD060112226 参考方案
文档标题: SQL SERVER清除日志的四种方法
操作系统: 未知 数 据 库: Sql Server 2000
软件版本: 未知 软件模块: 性能优化
问题描述: SQL SERVER清除日志的四种方法
产生原因: 日常维护
2、分离数据库
分离数据库:企业管理器->服务器->数据库->cwbase1->右键->分离数据库
分离后,cwbase1数据库被删除,但保留了数据文件和日志文件
3、删除log物理文件
删除LOG物理文件,然后附加数据库: 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的log,大小只有500多k。
注意:建议使用第一种方法。操作前请确保所有操作员都已经推出系统,断开数据库的连接。
以上操作前,请务必做好数据备份!
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
方法三:通过SQL收缩日志
把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
相关文档
最新文档