易截截图软件、单文件、免安装、纯绿色、仅160KB

清除SQL数据库日志文件


清除SQL数据库日志文件
/*--压缩数据库的通用存储过程
有两种方法 一是压缩日志,二是删除日志。
一、压缩日志及数据库文件大小
因为要对数据库进行分离处理
所以存储过程不能创建在被压缩的数据库中
/*--调用示例
exec p_compdb 'test'
--*/
use master   --注意,此存储过程要建在master数据库中
go
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_compdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_compdb]
GO
create proc p_compdb
@dbname sysname,    --要压缩的数据库名
@bkdatabase bit=1,    --因为分离日志的步骤中,可能会损坏数据库,所以你可以选择是否自动数据库
@bkfname nvarchar(260)='' --备份的文件名,如果不指定,自动备份到默认备份目录,备份文件名为:数据库名+日期时间
as
--1.清空日志
exec('DUMP TRANSACTION ['+@dbname+'] WITH   NO_LOG')
--2.截断事务日志:
exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
exec('DBCC SHRINKDATABASE(['+@dbname+'])')
--4.设置自动收缩
exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')
--后面的步骤有一定危险,你可以可以选择是否应该这些步骤
--5.分离数据库
if @bkdatabase=1
begin
if isnull(@bkfname,'')=''
   set @bkfname=@dbname+'_'+convert(varchar,getdate(),112)
    +replace(convert(varchar,getdate(),108),':','')
select 提示信息='备份数据库到SQL 默认备份目录,备份文件名:'+@bkfname
exec('backup database ['+@dbname+'] to disk='''+@bkfname+'''')
end
--进行分离处理
create table #t(fname nvarchar(260),type int)
exec('insert into #t select filename,type=status&0x40 from ['+@dbname+']..sysfiles')
exec('sp_detach_db '''+@dbname+'''')
--删除日志文件
declare @fname nvarchar(260),@s varchar(8000)
declare tb cursor local for select fname from #t where type=64
open tb
fetch next from tb into @fname
while @@fetch_status=0
begin
set @s='del "'+rtrim(@fname)+'"'
exec master..xp_cmdshell @s,no_output
fetch next from tb into @fname
end
close tb
deal


相关文档:

通过作业自动备份sql server 2005数据库

在SQL Server 2005数据库中实现自动备份的具体步骤:
1、打开SQL Server Management Studio
2、启动SQL Server代理
3、点击作业->新建作业
4、"常规"中输入作业的名称
5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句(红色部分要根据自己的实际情况更改,'D:\LMS2.0\LMS2.0\bak\' 改为自己的备份路径, ......

ORACLE常用SQL优化hint语句

PowerBuilder取得巨大成就的原因就是有功能强大和灵活多变的Datawindow对象,本人用PowerBuilder开发过一段时间后,总结出一些技巧,以供广大的PB开发者借鉴使用。
1、 如何创建一个具有逐渐递增求和功能的报表,如下形式: Running Total列,我们可使用计算列:CumulativeSum(Quantity for all),即可达到逐渐递增求和 ......

如何写sql的递归查询语句?

cpcbid    cpcbbh          type  parentid  parentbh            cbze
70      2009120001      11      NULL        NU ......

SQL Server压缩日志及数据库文件大小

请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库。
一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。
1、清空日志
DUMP  TRANSACTION  库名  WITH NO_LOG
2、截断事务日志
B ......

SQL Server连接远程数据源的基本方法

SQL Server连接远程数据源的基本方法有下面三种:
OPENDATASOURCE: The OPENDATASOURCE function is used to specify connection information for a remote data source by specifying the OLE DB provider and an initialization string. OPENDATASOURCE can be used directly within a SELECT, INSERT, UPDATE, or DELET ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号