删除SQL Server日志的方法(3)_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解读SQL存储过程入门级教程
1.SQL存储过程概述 在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQLSe


5.为了以后能自动收缩,做如下设置:

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"


--SQL语句设置方式:

EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'


6.如果想以后不让它日志增长得太大

企业管理器--服务器--右键数据库--属性--事务日志

--将文件增长限制为xM(x是你允许的最大数据文件大小)


--SQL语句的设置方式:

alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

/*--压缩数据库的通用存储过程 


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

因为要对数据库进行分离处理 

所以存储过程不能创建在被压缩的数据库中 


/*--调用示例 

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


--后面的步骤有一定危险,你可以可以选择是否应该这些步骤 

分享:按指定排列顺序获取数据的sql语句
测试table create table table1 (id int,name char) insert into table1 select 1,'q' union all select 2,'r' union all select 3,'3' union all select 4,'5' 要求按指定的id顺序(比如2,1,4,3)排列获取table1的数据 方法1: 使用union all,但是有256条数据的

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2010-04-05
相关Mssql数据库教程