MSSQL 清空日志 删除日志文件
我要评论2013/07/04 22:09:42 来源:绿色资源网编辑:www.downcc.com 评论:0点击:265次
最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。于是想把日志文件删除。最简单就是先分离数据库-》删除日志文件-》最后附加数据,我这里需要在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;
关键词:MSSQL
相关阅读
- 10-16MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法
- 01-06mssql2000 Log.LDF日志文件丢失的解决方案
- 12-09sql server 2005进程无法向表“"dbo"."xxx"”进行大容量复制。 (错误号: MSSQL_REPL20037) 解决方案
- 11-22数据库在mssql2005 版本上 还原出现3154错误的解决方法
- 04-05MS SQL 中收缩数据库日志的方法
- 02-11MS SQL Server 2008数据库怎么实现数据库同步备份?
- 12-25MSSQL Server数据库的四种连接方法和sql连接字符串
- 12-25经典MSSQL语句大全和常用SQL语句命令的作用
- 06-20ASP连接MSSQL的错误: 拒绝访问
- 04-08MSSQL SERVER服务不能启动故障一例
阅读本文后您有什么感想? 已有 人给出评价!
用户评论
热门评论
最新评论
相关软件
热点图文
- 04-04在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。
- 04-06SQL2005无法启动SQL Server 请求失败或服务未及时响应等问题的解决方案
- 03-16一个小时成功安装SQL Server 2012图解教程
- 04-17SQL Server 2012安装介绍 SQL 2012安装出错的解决方案
- 03-05连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 08-22win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
- 12-112000w数据怎么打开?bak文件怎么打开?
- 01-23错误 2812: 未能找到存储过程 'master.dbo.xp_fixeddrives'
- 04-05将SQL Server2005数据库还原或恢复到SQL Server2000数据库中
- 11-24sql server中将一个数据库的表复制到另外一个数据库的方法