刀俎!天堂和地狱的差别!

Dance in hell, death in heaven, live in world, love in dream

用户操作
[即时聊天] [发私信] [加为好友]
伴佬ID:abandonship
105946次访问,排名886,好友183人,关注者244人。
web开发
abandonship的文章
原创 79 篇
翻译 0 篇
转载 23 篇
评论 36 篇
abandonship的公告
生活催人老,

努力多赚钱!

天气预报


悼念逝去的生命
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
jjcxfly:不错,这样就比较详细,其他的都太笼统了,说了一大篇,一句正题都不挨~
abandonship:不好意思,昨天光写了个题目,内容往贴了
esports52:你是提问? 被忽悠了
sky_tiankong:无意中让我发现了这个学习的好地方,挺好
加你为好友吧 我也是刚刚学,多多照顾了
文章分类
收藏
    相册
    I can fly!
    .net
    Jesse Ezell's Blog
    Rickie Lee's blog
    孟子
    思归呓语
    蝈蝈俊
    J2EE
    J2ME
    javascript
    梅花雪
    SQL
    zjcxc(邹建)
    其他
    css2在线手册
    综合
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 控制数据库容量收藏

    新一篇: 跨站脚本攻击(XSS) | 旧一篇: 如何计算入伏时间

    减少LOG文件占用硬盘大小

     

    1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
    2:删除LOG文件
    3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
    此法生成新的LOG,大小只有520K,然后再将此数据库设置自动收缩.

    或使用CODE来做:

    下面的示例分离数据库 TestData,然后将 TestData 中的一个文件附加到当前服务器。

    EXEC sp_detach_db @dbname = '数据库'
    EXEC sp_attach_single_file_db @dbname = '数据库',  @physname = '盘符:\数据库路径\数据库名.mdf'

     

    清空数据库日志

     

    DUMP TRANSACTION 数据库名 WITH NO_LOG

     

    然后,企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至**m,这里会给出一个允许收缩到的最小m数。[如果打算控制数据到多少就不能再增长时,企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M]

     

    自动收缩日志,也可以如下语句


    ALTER DATABASE 数据库名
    SET AUTO_SHRINK ON

     

    故障还原模型改为简单,用语句是
    USE MASTER
    GO
    ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
    GO

     

    同时附上邹老大通用存储过程

     

    --SQL语句的设置方式:
    alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
    -------------------------------------------------------------------------------------------
    /*--压缩数据库的通用存储过程

    压缩日志及数据库文件大小
    因为要对数据库进行分离处理
    所以存储过程不能创建在被压缩的数据库中

    --邹建 2004.3--*/

    /*--调用示例
    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
    deallocate tb

    --附加数据库
    set @s='
    declare tb cursor local for select fname from #t where type=0
    open tb
    fetch next from tb into @fname
    while @@fetch_status=0
    begin
    set @s=@s+',''+rtrim(@fname)+''
    fetch next from tb into @fname
    end
    close tb
    deallocate tb
    exec('sp_attach_single_file_db ''+@dbname+''+@s)
    go

    发表于 @ 2008年08月18日 17:14:00|评论(loading...)|编辑|收藏

    新一篇: 跨站脚本攻击(XSS) | 旧一篇: 如何计算入伏时间

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © abandonship