当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server数据库技术(35)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(35)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

   数据库在利用一段时间后,经常会呈现因数据删除而造成数据库中闲暇空间太多的情形,这时就需求削减分配给数据库文件和事件日记文件的磁盘空间,免得浪费磁盘空间.当数据库中没有数据时,可以改正数据库文件属性直接改变其占用空间,但当数据库中有数据时,这样做会破坏数据库中的数据,因此需求利用紧缩的方法来缩减数据库空间.可以在数据库属性选项中挑选"Auto shrink"选项,让系统自动紧缩数据库,也可以用人工的办法来紧缩.人工紧缩数据库有以下两种方法:

1、用Enterprise Manager 紧缩数据库
在Enterprise Manager 中在所要紧缩的数据库上单击右键,从快速菜单中的"全部任务(All Tasks)"中挑选"Shrink Database(紧缩数据库)"选项,就会呈现如图6-10 所示的对话框.可以在图6-10 所示的对话框中挑选数据库的紧缩方法,也可以挑选利用紧缩筹划或紧缩单个文件.

单击图6-10 中的"Files"按钮,会呈现如图6-11 所示的紧缩数据库文件对话框,可以针对每个数据库文件举行差别的紧缩设置.


单击图6-10 中的"Change" 按钮,会呈现如图6-12 所示的紧缩筹划编辑对话框,可以指定紧缩筹划的履行方法.单击图6-12 中的"Change" 按钮,会呈现如图6-13 所示的循环工作筹划编辑对话框,可以编辑筹划履行的周期或时间点.设置完成后单击"OK" 按钮就开始紧缩数据库,在紧缩完毕后会显示一个紧缩情形信息框.



2、用Transact-SQL 号令紧缩数据库
可以利用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 号令来紧缩数据库.此中DBCC SHRINKDATABASE 号令对数据库举行紧缩,DBCC SHRINKFILE 号令对数据库中指定的文件举行紧缩.

(1) DBCC SHRINKDATABASE
DBCC SHRINKDATABASE 号令语法以下:
DBCC SHRINKDATABASE (database_name [, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各参数阐明以下:

  • target_percent 指定将数据库紧缩后,未利用的空间占数据库大小的百分之几.假如指定的百分比过大,超越了紧缩前未利用空间所占的比例,则数据库不会被紧缩.并且紧缩后的数据库不能比数据库初始设定的容量小.
  • NOTRUECATE
    将数据库缩减后剩余的空间保存在数据库,中不返还给操作系统.假如不挑选此选项,则剩余的空间返还给操作系统.
  • TRUNCATEONLY
    将数据库缩减后剩余的空间返还给操作系统.利用此号令时sql server 将文件缩减到最后一个文件分配,区域但不移动任何数据文件.挑选此项后,target_percent 选项就无效了.
    例6-14: 紧缩数据库mytest 的未利用空间为数据库大小的20%.
    dbcc shrinkdatabase (mytest, 20)
    运行后果以下:
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.

(2) DBCC SHRINKFILE
DBCC SHRINKFILE 号令紧缩当前数据库中的文件.其语法以下:
DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |
[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
各参数阐明以下:

  • file_id
    指定要紧缩的文件的辨别号(Identification number, 即ID).文件的ID 号可以通过 FILE_ID()函数或如本章前面所报告的Sp_helpdb 系统存储历程来得到.
  • target_size
    指定文件紧缩后的大小.以MB 为单位.假如不指定此选项,SQL Server 就会尽最大大概地缩减文件.
  • EMPTYFILE
    指明此文件不再利用,将移动全部在此文件中的数据到同一文件组中的别的文件中去.履行带此参数的号令后,此文件便可以用ALTER DATABASE 号令来删除了.
    别的参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE 号令中的含义相同.
    例6-15: 紧缩数据库mydb 中的数据库文件mydb_data2 的大小到1MB. use mydb dbcc shrinkfile (mydb_data2, 1)

  以上是“SQL Server数据库技术(35)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .