您现在的位置是:网站首页> 编程资料编程资料
MSSQL 清空日志 删除日志文件_资源网
                     2022-05-10
                940人已围观
                
                2022-05-10
                940人已围观
            
简介 MSSQL 清空日志 删除日志文件_资源网
最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。于是想把日志文件删除。最简单就是先分离数据库-》删除日志文件-》最后附加数据,我这里需要在SSIS中调用,所以已sql脚本为主。
两种简单的清除日志的方法:
一分离附加法:
 1、首先把数据库分离,分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离,其中药勾选删除连接!
分离后在数据库列表将看不到已分离的数据库。
 2、删除数据库的LOG文件数据库文件夹下的对应数据库的 ldf文件
 3、附加数据库,附加的时候会提醒找不到log文件。到时附加上后会自动创建一个新的日志文件,从而达到清理数据库的目的
二、sql语句清除mssql日志
 DUMP TRANSACTION TestDB WITH NO_LOG 清除日志
 DBCC SHRINKFILE ('TestDB_log',1) 收缩数据库文件
 BACKUP LOG TestDB WITH NO_LOG 截断事务日志
 该命令在sql server 2008也是不支持,在sql server 2005和2000可以使用。
首先我们需要获取数据库文件的路径:
 declare @logfilename varchar(100)
  declare @datafilename varchar(100)
 select @logfilename=physical_name from sys.database_files where type=1
 select @datafilename=physical_name from sys.database_files where type=0
然后切换到master下,分离数据库
use master
 exec sp_detach_db @dbname='TestVFA';
紧接下来就是删除数据库 日志文件
 ----Remove file
 DECLARE @Result int
 DECLARE @FSO_Token int
 EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT
 EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile', NULL, @logfilename
 EXEC @Result = sp_OADestroy @FSO_Token
 最后就是附加数据库
 exec sp_attach_single_file_db @dbname='TestVFA',@physname=@datafilename
注意:默认Ole Automation Procedures 是禁用的我们需要启用它
exec sp_configure 'show advanced options', 1;
 RECONFIGURE;
 exec sp_configure 'Ole Automation Procedures',1;
 RECONFIGURE;
相关内容
- oracle数据库sql的优化总结_资源网
- Oracle数据库设置任务计划备份一周的备份记录_资源网
- KB967723补丁造成的MYSQL在Win2003上频繁连接不上的问题的解决方法_资源网
- MySQL数据库INNODB 表损坏修复处理过程_资源网
- 数据库移植到SQL Server 2008R2出现“3145错误”及解决办法_资源网
- 使用SQL Server 2008远程链接时SQL数据库不成功的解决方案_资源网
- java连接mysql数据库乱码的解决方案_资源网
- MS SQL Server 数据库语法大全_资源网
- oracle数据库如何重建索引_资源网
- 清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案_资源网
 
                                
                                                         
                                
                                                         
                                
                                                         
 
    