解决SQL数据库日志已满的问题

合集下载

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.在“备份到”下拉列表中选择备份文件的位置和名称。

SQL日志文件太大清理方法

SQL日志文件太大清理方法

SQL日志文件太大清理方法

当SQL日志文件太大时,清理方法包括:备份、压缩、归档和删除等

步骤。下面是一些具体的方法和步骤:

1.备份日志文件:首先,需要确保已经备份了当前的SQL日志文件。

这是因为,在清理之前,需要先保存原始的日志文件,以防止出现意外情况。可以使用数据库管理工具或命令行工具进行备份。

2.压缩日志文件:为了减小日志文件的大小,可以使用压缩工具将其

进行压缩。压缩后的日志文件可以占用更少的磁盘空间,同时也更容易存

储和传输。在压缩之前,要确保不再需要对日志进行任何操作,以免丢失

任何重要信息。

3.归档日志文件:归档是将日志文件从当前位置移到另一个位置的过程。通过归档,可以将旧的日志文件移动到一个备份或存档目录中,以便

以后查看或还原。这样,可以释放当前的日志文件空间,并保留原始的日

志记录。具体的归档方法可以根据数据库管理系统和应用程序的要求进行

选择。

4.删除日志文件:一旦已经完成了备份、压缩和归档操作,就可以考

虑删除较旧的日志文件。删除日志文件可以释放磁盘空间,提高系统性能,并且可以避免日志文件过大对系统运行造成负面影响。但是,在删除日志

文件之前,要确保已经备份和归档了这些文件,以防止丢失重要的数据。

需要注意的是,清理SQL日志文件需要谨慎操作,以免出现数据丢失

或其他不可预料的问题。因此,在进行清理操作之前,建议先备份和归档

日志文件,以便以后查看或还原。此外,要保持日志文件的合理大小,可

以定期进行备份和归档操作,避免日志文件不断增长而导致系统性能下降。

在执行清理操作时,最好在非繁忙的时间段进行,以减少对系统运行的干扰。

清理 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. 修改日志文件的增长大小

除了修改增长百分比外,还可以通过修改日志文件的增长大小来控制日志文件的大小。将增长大小设置为一个合适的值,可以避免日志文件过大,减少磁盘空间的占用。

SQLServer日志过大处理(分离附加)

SQLServer日志过大处理(分离附加)

SQLServer日志过大处理

注意:需要在应用停服状态下进行操作,并做好数据库备份1.查看数据库属性,找到数据库文件路径

常见路径为SQLServer默认DATA目录

可以在对应路径看到这个数据库的MDF和LDF文件

2.右键选择需要处理的数据,选择分离,分离之后数据库会从管理界面消失,分离时需要

勾选如下选项

3.剪切过大的LDF文件至其他目录,或者直接删除

4.数据库位置右键,选择附加mdf文件,删除找不到的日志文件,附加之后,日志会重新

生成

附加完成之后,数据库会出现在管理界面

5.至此完成过大日志处理,新增日志较小。可以启动服务继续使用。

日志已满的解决办法

日志已满的解决办法

KIS专业版提示“日志已满”的解决办法

错误提示:

1》在进行帐套备份的时候提示以下错误:

2》由于业务系统已结帐到12月份,在进行单据录入的时候提示以下错误:

点击确定后出现如下提示:

后弹出单据录入界面为不可录入状态,点新增后仍然继续弹出错误提示。

问题原因:

问题的原因是由于将账套实体的事务日志的增长已超过当前的限制太小所致。

解决办法:

第一步,将“最大文件大小”设置为“文件增长不受限制”。

步骤:进入SQL SERVER企业管理器-》Micro SQL Servers-》SQL Server组-》(local) Windows NT-》数据库-》帐套号-》属性-》事务日志-》最大文件大小选择“文件增长不受限制”;

第二步,将问题账套实体进行数据分离。

步骤:进入SQL SERVER企业管理器进行分离。SQL SERVER企业管理器-》Micro SQL Servers-》SQL Server组-》(local) Windows NT-》数据库-》帐套号-》所有任务-》分离数据库。

单击确定按钮,提示分离数据库成功。

第三步,删除问题账套实体的数据库日志文件。

步骤:在SQL SERVER的安装根目录下的DATA文件夹下将问题帐套的日志文件AIS1027_log.ldf删除。

第四步,将问题帐套数据实体重新附加回SQL数据库中。

步骤:进入SQL SERVER企业管理器进行附加。SQL SERVER企业管理器-》Micro SQL Servers-》SQL Server组-》(local) Windows NT-》数据库-》所有任务-》附加数据库。

sql2014 主数据库日志文件过大的处理方法

sql2014 主数据库日志文件过大的处理方法

SQL Server 2014 是一款功能强大的关系型数据库管理系统,广泛应

用于企业级应用程序和数据存储中。在使用 SQL Server 2014 过程中,经常会遇到主数据库日志文件过大的问题,这会影响数据库性能和稳

定性。本文将介绍主数据库日志文件过大的处理方法,帮助数据库管

理员和开发人员解决这一常见问题。

1. 分析日志文件过大的原因

主数据库日志文件过大通常是由于以下原因引起的:

1) 未及时备份日志文件

2) 长时间未进行事务日志的截断

3) 数据库中存在大量的大事务操作

4) 数据库的恢复模式设置不当

5) 数据库中存在大量的事务日志记录

2. 备份日志文件

备份日志文件是解决主数据库日志文件过大问题的最直接和有效的方法。通过定期备份日志文件,可以将事务日志记录的信息写入到数据

库文件中,并且释放已经写入到数据库文件中的空间。数据库管理员

可以使用 SQL Server Management Studio 工具或者 Transact-SQL 语句来备份日志文件,具体操作步骤如下:

1) 使用 SQL Server Management Studio 工具进行备份:选择数据库 -> 右键点击任务 -> 选择“备份” -> 在“备份类型”中选择“日志” -> 完成备份设置 -> 确认备份操作

2) 使用 Transact-SQL 语句进行备份:执行如下命令

BACKUP LOG database_name TO disk='backup_location'

3. 收缩日志文件

在备份日志文件之后,数据库管理员还可以通过收缩日志文件的方式来释放空间,具体操作步骤如下:

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>):调整日志文件的大小。

sqlserver2008日志清理方法

sqlserver2008日志清理方法

sqlserver2008日志清理方法

SQL Server 2008是Microsoft SQL Server系列中的一个版本,

用于管理和存储大量数据。在长期运行的数据库中,日志文件可能会变得庞大,影响性能和磁盘空间。为了解决这个问题,需要定期清理和管理日志文件。下面是SQL Server 2008中清

理日志的几种常见方法。

1. 定期备份日志文件

通过进行定期的日志备份,可以帮助缩小日志文件的大小,

并释放磁盘空间。在SQL Server Management Studio (SSMS)中,可以通过右键单击数据库,在“任务”菜单中选择“备份”来进行

日志备份。选择“备份类型”为“仅备份日志”,并设定一个合适

的备份策略,可以根据业务需求灵活设置。

2. 收缩日志文件

当日志文件变得过大时,可以使用收缩功能来减小文件大小

并释放磁盘空间。在SSMS中,可以通过以下脚本执行收缩

操作:

```

DBCC SHRINKFILE('日志文件名','目标大小')

```

请注意:收缩日志文件可能会导致数据库变得不可用一段时间。

3. 设置适当的恢复模式

在SQL Server中,数据库有三种恢复模式:完整恢复模式、简单恢复模式和大容量恢复模式。完整恢复模式和大容量恢复

模式会生成大量的日志,而简单恢复模式只会保留最少的日志信息。根据业务需求和恢复要求,选择适当的恢复模式可以控制和管理日志的大小。可以通过以下脚本更改数据库的恢复模式:

```

ALTER DATABASE 数据库名 SET RECOVERY 模式

```

4. 设置适当的自动收缩日志文件选项

SQL数据库日志文件容量超大解决方法

SQL数据库日志文件容量超大解决方法

问题:数据库达到160G,怎样处理?

原因:

1、S QLSERVER数据库,分为日志文件.ldf和主要文件.mdf,主要文件就是我们

的原始数据库,日志文件主要用于灾难恢复,记录了对数据库的所有操作的日志。

2、数据库大的原因为日志文件ykchr.log很大,主要文件才3G多,日志文件增

长策略为不限制增长,导致日志只追加不会覆盖,所以才会很大。

解决办法:

将日志文件中的日志全部清空,修改日志文件的增长策略,目前调整为到最大10G,超过10G自动从头覆盖。也可以将日志文件大小最大限制为5G

步骤:

1、查看数据库中,确认哪个文件占用空间较大。

2、选择目标数据库,分离数据库,为了可以删除日志文件。

3、现在可以修改日志文件名。

3、重新附加数据库,找到mdf文件即可。

5、删除找不到的日志文件目录。

6、直接恢复数据库即可。

7、刷新,显示出加附加的数据库。

8、找到目标数据库,打开属性,限制日志文件最大容量5G。

SQLSERVER事务日志已满thetransactionlogfordatabasexx。。。

SQLSERVER事务日志已满thetransactionlogfordatabasexx。。。

SQLSERVER事务⽇志已满thetransactionlogfordatabasexx。。

解决办法:清除⽇志

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)

GO

USE[master]

GO

ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY FULL--还原为完全模式

修改数据库名称和⽇志⽂件名称在查询窗⼝执⾏即可

备注:当在数据库管理界⾯点击收缩数据库⽆效时也可使⽤此⽅法

SqlServer数据库提示“tempdb”的日志已满问题如何解决

SqlServer数据库提示“tempdb”的日志已满问题如何解决

SqlServer数据库提示“tempdb”的日志已满问题如何

解决

本文主要讲述了笔者在执行sql语句的过程中,遇到SqlServer数据库提示tempdb”的日志已满问题。请备份该数据库的事务日志以释放一些日志空间”的解决过程,希望对大家有所帮助。

 执行sql 语句,中间没有用到临时表

 提示服务器: 消息9002,级别17,状态2,行1

 数据库‘tempdb’ 的日志已满。请备份该数据库的事务日志以释放一些日志空间。

 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的

 解决过程:

 查看了下数据库的属性,是自动增长,不指定文件大小上限。

 在网上Google了很久,试了些方法都不行;数据库所在磁盘还有很大的可用空间,试着下重药了。

 直接把tempdb的数据文件和日志文件的大小改为3000M,

解决SQL数据库日志已满的问题

解决SQL数据库日志已满的问题

解决SQL数据库日志已满的问题

1、右键数据库→属性→选项→故障还原模型→设为简单→确定;

2、右键数据库→所有任务→收缩数据库→确定;

3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。

二、复杂方法

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)

4、为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库

企业管理器--服务器--数据库--右键--分离数据库

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

c.附加数据库

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

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

或用代码:

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

a.分离

SQL解决数据库日志文件已满的问题

SQL解决数据库日志文件已满的问题

SQL解决数据库⽇志⽂件已满的问题出现数据库操作失败,查找原因,发现数据库⽇志已满:

解决此问题有两种⽅法:

1、压缩⽇志⽂件

1.数据库->属性->选项-恢复模式->由完成切换成简单(在收缩完成之后记得改回完整模式)

2.数据库->任务->收缩-⽂件->⽂件类型->⽇志->将⽂件收缩到

2、删除⽇志⽂件

分离数据库:

删除数据库⽇志⽂件

附加数据库时,出现找不到⽇志字样,删除数据库⽇志⽂件

点击保存,成功!

数据库的事务日志已满,起因为LOG_BACKUP

数据库的事务日志已满,起因为LOG_BACKUP

数据库的事务⽇志已满,起因为LOG_BACKUP 数据库的事务⽇志已满,起因为"LOG_BACKUP"

问题描述:

数据库“DatabaseName”的事务⽇志已满,起因为"LOG_BACKUP"。

解决⽅法:

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

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

--设置简单模式

USE[master]

GO

ALTER DATABASE DatabaseName SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE DatabaseName SET RECOVERY SIMPLE

GO

--设置压缩后的⽇志⼤⼩为2M,可⾃定义

USE DatabaseName

GO

DBCC SHRINKFILE (N'DatabaseName_log' , 2, TRUNCATEONLY)

GO

--还原完全模式

USE[master]

GO

ALTER DATABASE DatabaseName SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE DatabaseName SET RECOVERY FULL

GO

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

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

SqlServer数据库提⽰“tempdb”的⽇志已满问题解决⽅案执⾏sql 语句,中间没有⽤到临时表

提⽰服务器: 消息 9002,级别 17,状态 2,⾏ 1

数据库 'tempdb' 的⽇志已满。请备份该数据库的事务⽇志以释放⼀些⽇志空间。

⽹上找了下解决⽅案,⼤体是扩⼤临时库的⽇志⽂件的⼤⼩解决的

解决过程:

查看了下数据库的属性,是⾃动增长,不指定⽂件⼤⼩上限。

在⽹上Google了很久,试了些⽅法都不⾏;数据库所在磁盘还有很⼤的可⽤空间,试着下重药了。

直接把tempdb的数据⽂件和⽇志⽂件的⼤⼩改为3000M,

问题解决。

记录⼀下清空⽇志的命令:

DUMP TRANSACTION dbname WITH NO_LOG

截断事务⽇志命令:

BACKUP LOG dbname WITH NO_LOG

收缩⽇志操作:

右键点数据库-属性-所有任务-收缩数据库-⽂件-选择⽂件-确定。

虽然⽤清空⽇志命令清空了tempdb的⽇志,但是不能解决问题。于是扩⼤tempdb的数据⽂件和⽇志⽂件的⼤⼩,

ALTER DATABASE [tempdb] MODIFY FILE (NAME = N'templog', MAXSIZE = UNLIMITED)

ALTER DATABASE [tempdb] MODIFY FILE (NAME = N'templog', FILEGROWTH = 10%)

ALTER DATABASE [tempdb] MODIFY FILE (NAME = N'templog ', SIZE = 1000)

数据库日志满解决办法

数据库日志满解决办法

数据库日志满快速解决办法

先提供一种复杂的方法压缩日志及数据库文件如下:

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)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库:

企业管理器--服务器--数据库--右键--分离数据库

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

c.附加数据库:

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

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

或用代码:

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

a.分离

exec sp_detach_db @dbname = 'pubs'

b.删除日志文件

c.再附加

exec sp_attach_single_file_db @dbname = 'pubs',

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解决SQL数据库日志已满的问题

1、右键数据库→属性→选项→故障还原模型→设为简单→确定;

2、右键数据库→所有任务→收缩数据库→确定;

3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。

二、复杂方法

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)

4、为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库

企业管理器--服务器--数据库--右键--分离数据库

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

c.附加数据库

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

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

或用代码:

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

a.分离

EXEC 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)

特别注意:

请按步骤进行,未进行前面的步骤,请不要做后面的步骤,否则可能损坏你的数据库。

一般不建议做第4、6两步,第4步不安全,有可能损坏数据库或丢失数据,第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。

日志文件满而造成SQL数据库无法写入文件时,可用两种方法:

一种方法:清空日志。

1.打开查询分析器,输入命令

DUMP TRANSACTION 数据库名WITH NO_LOG

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

另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。

1: 删除LOG

分离数据库企业管理器->服务器->数据库->右键->分离数据库

2:删除LOG文件

附加数据库企业管理器->服务器->数据库->右键->附加数据库

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

注意:建议使用第一种方法。

如果以后,不想要它变大。

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 时才能进行。

注意:一般立成建立的数据库默认属性已设好,但碰到意外情况使数据库属性被更改,请用户清空日志后,检查数据库的以上属性,以防事务日志再次充满。

详解快速清除SQLServer日志的两种方.. Sqlserver 优化的方法删除无效的SQL SERVER组的几种方法sql server

添加数据库的方法sql server平台用存储过程进行分页.. SQL SERVER的数据类型获取SQL Server元数据的几种方法

SQL Server的有效安装ASP中server的方法SQL Server导出导入数据方法SQL Server各种日期计算方法之二

SQL Server的备份与还原

相关文档
最新文档