SQL Server中减小Log文件尺寸的方法分享

首先
use [数据库名称];
exec sp_helpfile;

使用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件
BACKUP LOG [数据库名] WITH TRUNCATE_ONLY
dbcc shrinkfile ([log文件的逻辑名称],1)

这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option.

应当采取这样的操作方法:

复制代码 代码如下:
-- 首先把数据库的恢复模式改为Simple
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE;
GO
-- 缩小log文件至1M,逻辑名称可以通过sp_helpfile拿到
DBCC SHRINKFILE ([log文件逻辑名称], 1);
GO
-- 重置数据库的恢复模式
ALTER DATABASE [数据库名] SET RECOVERY FULL;
GO

时间: 2024-08-02 22:05:37

SQL Server中减小Log文件尺寸的方法分享的相关文章

SQL Server中减小Log文件尺寸的方法分享_MsSql

首先use [数据库名称];exec sp_helpfile; 使用sp_helpfile查询可知道log 文件的逻辑名称,然后就可以利用DBCC来减小LOG文件BACKUP LOG [数据库名] WITH TRUNCATE_ONLYdbcc shrinkfile ([log文件的逻辑名称],1) 这个方法在MS SQL Server 2008 以及MS SQL Server 2008 R2中不再适用,会提示:TRUNCATE_ONLY is not a valid BACKUP option.

在SQL Server中使用CLR调用.NET方法实现思路_实用技巧

介绍 我们一起来做个示例,在.NET中新建一个类,并在这个类里新建一个方法,然后在SQL Server中调用这个方法.按照微软所述,通过宿主 Microsoft .NET Framework 2.0 公共语言运行库 (CLR),SQL Server 2005显著地增强了数据库编程模型. 这使得开发人员可以用任何CLR语言(如C#.VB.NET或C++等)来写存储过程.触发器和用户自定义函数. 我们如何实现这些功能呢? 为了使用CLR,我们需要做如下几步: 1.在.NET中新建一个类,并在这个类里

SQL Server中合并用户日志表的方法

server 在维护SQL Server数据库的过程中,大家是不是经常会遇到成千上万的类似log20050901 这种日志表,每一个表中数据都不是很多,一个一个打开看非常不方便,或者有时候我们需要把这些表中的资料汇总,一个一个打开操作也是很麻烦.下面就介绍了一种自动化的合并表的方法. 我的思路是创建一个用户存储过程来完成一系列自动化的操作,以下是代码. --存储过程我命名为BackupData,可以使用自己定义的名称. --参数1:@TableTarget 生成的目标表的名称 --参数2:@Ta

SQL Server2008中删除重复记录的方法分享_mssql2008

现在让我们来看在SQL SERVER 2008中如何删除这些记录, 首先,可以模拟造一些简单重复记录: 复制代码 代码如下: Create Table dbo.Employee ( [Id] int Primary KEY , [Name] varchar(50), [Age] int, [Sex] bit default 1 ) Insert Into Employee ([Id] , [Name] , [Age] , [Sex] ) Values(1,'James',25,default)

MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下:update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据类

MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法_MsSql

方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 复制代码 代码如下: update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据

SQL Server中删除重复数据的方法

数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一declare @max integer,@id integerdeclare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1open cur_rowsfetch cur_rows into @id,@maxwhile @@fetch_status=0begins

在SQL SERVER中批量替换字符串的方法

  方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 方法二:(替换其他数据类型字段的语句,实

SQL SERVER中的log block校验

从SQL2005开始,checksum校验被增加为页面校验的一个选项,最广为人知的两个checksum选项就是备份时候的 checksum选项和页面校验checksum选项 另外一个比较少人知道的选项就是log block checksum 什么是log block? Log Block在宋沄剑写的文章里已经介绍的很清楚了 Log Block是日志写入持久化存储的最小单位,Log Block的大小从512字节到60K不等,这取决于事务的大小, 那些在内存还未被写入持久化存储的Log Block也