请问"收缩数据库"的作用是什么????????????????????????????????

yxfs 2004-05-03 02:46:56
请问"收缩数据库"的作用是什么????????????????????????????????


在sql server 中有 收缩数据库 ,自动收缩数据库 功能 , 它们的作用是什么??

为什么要收缩数据库??
...全文
1119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fsqman 2004-05-06
  • 打赏
  • 举报
回复
能不能简单点,易明点
zjcxc 元老 2004-05-03
  • 打赏
  • 举报
回复
自动收缩数据库

SQL Server 2000 自动收缩有大量可用空间的数据库。该进程仅适用于那些 autoshrink 选项设置为 true 的数据库。服务器定期检查每个数据库中的空间使用情况。如果发现数据库中有大量闲置空间,而且它的 autoshrink 选项设置为 true,SQL Server 就缩小该数据库中的文件大小。也可以使用 SQL Server 企业管理器或 DBCC SHRINKDATABASE 和 DBCC SHRINKFILE 语句,手工收缩数据库中的文件。

文件始终从末端开始收缩。例如,如果有个 5 GB 的文件并将 DBCC SHRINKDB 语句中的 target_size 指定为 4GB,则 SQL Server 将从文件的最后一个 1 GB 开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则 SQL Server 首先将这些页重新定位到保留的部分。只能将数据库收缩到没有剩余的可用空间为止。例如,某个 5GB 的数据库有 4 GB 的数据并且 DBCC SHRINKDATABASE 语句的 target_size 被指定为 3 GB,则只释放 1 GB。

如果 DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 语句无法收回日志文件中的所有空间,该语句将发出信息,指示必须执行什么操作以释放更多符合条件的空间。有关收缩日志文件的更多信息,请参见收缩事务日志。

zjcxc 元老 2004-05-03
  • 打赏
  • 举报
回复
收缩数据库
Microsoft® SQL Server™ 2000 允许收缩数据库中的每个文件以删除未使用的页。数据和事务日志文件都可以收缩。数据库文件可以作为组或单独地进行手工收缩。数据库也可设置为按给定的时间间隔自动收缩。该活动在后台进行,并且不影响数据库内的用户活动。

当使用 ALTER DATABASE AUTO_SHRINK 选项(或 sp_dboption 系统存储过程)将数据库设置为自动收缩,且数据库中有足够的可用空间时,则会发生收缩。但是,如果不能配置要删除的可用空间的百分比,则将删除尽可能多的可用空间。若要配置将删除的可用空间量,例如只删除数据库中当前可用空间的 50%,请使用SQL Server 企业管理器内的"属性"对话框进行数据库收缩。

不能将整个数据库收缩到比其原始大小还要小。因此,如果数据库创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小能够收缩到 10 MB(假定已经删除该数据库中所有数据)。

但是,使用 DBCC SHRINKFILE 语句,可以将单个数据库文件收缩到比其初始创建大小还要小。必须分别收缩每个文件,而不要试图收缩整个数据库。

事务日志文件可在固定的边界内收缩。虚拟日志的大小决定可能减小的大小。因此,不能将日志文件收缩到比虚拟日志文件还小。另外,日志文件可以按与虚拟日志文件的大小相等的增量收缩。例如,一个初始大小为 1 GB 的较大事务日志文件可以包括五个虚拟日志文件(每个文件大小为 200 MB)。收缩事务日志文件将删除未使用的虚拟日志文件,但会留下至少一个虚拟日志文件。因为此示例中的每个虚拟日志文件都是 200 MB,所以事务日志最小只能收缩到 200 MB,且每次只能以 200 MB的大小收缩。若要让事务日志文件收缩得更小,可以创建一个更小的事务日志,并允许它自动增长,而不要创建一个较大的事务日志文件。

在 SQL Server 2000 中,DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 操作试图立即将事务日志文件收缩到所要求的大小(以四舍五入的值为准)。在收缩文件之前应截断日志文件,以减小逻辑日志的大小并将其标记为不包含逻辑日志任何部分的不活动的虚拟日志。有关更多信息,请参见收缩事务日志。



说明 不可能在备份数据库或事务日志时收缩数据库或事务日志。反之,也不可能在收缩数据库或事务日志时创建数据库或事务日志备份。

1. 安装指导 3 1.1 ASE安装一般指导 3 1.2 ASE11.9.2简易安装手册(for Unix) 4 安装概述 4 预下载任务: 5 下载 6 IBM AIX 6 HP UX 6 Digital Unix 6 预安装任务: 7 开始安装: 8 安装后任务: 10 1.3 ASE12.0 简易安装手册 10 1.3.1 SYBASE ASE12.0 For HP-9000/800 HP-UX安装指南 10 1.3.2 SYBASE ASE12.0 For SUN SOLARIS安装指南 13 1.3.3 SYBASE ASE12.0 For IBM RS/6000 AIX 安装指南 16 1.3.4 SYBASE ASE12.0 For DIGITAL UNIX 安装指南 19 1.4 SYBASE ASE12.0 For UNIX 双机切换设置指南(standby方式) 22 2. 技术专刊 24 2.1 关于Backup Server 24 2.2 Backup Server的名字 26 2.3 Sybase的数据库设备 27 2.4 数据库选项(dboptions)的使用与管理 28 2.5 Index & Performance 31 2.6 SQL Server 事务日志 35 2.7 阀值管理(Threshold Management) 39 2.8 日常后备数据库 42 2.9 使用dump transaction with no_log的危险性 43 2.10 在ASE 11.9.2版中采用了行级加锁机制以提高性能 44 2.10.1 所支持的加锁机制 45 2.10.2 对小量数据的多次并发访问 48 2.10.4 死锁 52 2.11 DBCC 56 2.12 在SCO OPENSERVER 5上安装SQL SERVER 11.0.x 59 2.13 在SCO Unixware7.1上安装ASE11.92 62 2.14 ASE 11.9.2 for Linux安装步骤 64 3.常见问题 66 3.1 初级篇 66 3.1.1 在SQL Server中表大小是否有限制? 66 3.1.2 一旦客户突然退出或系统重启,SQL Server如何回滚事务? 66 3.1.3 为什么有时候数据库事务日志满了,使用Dump transaction with no-log仍不能截断日志? 66 3.1.4 即使表上没有建立索引,为什么BCP操作仍记日志? 66 3.1.5 如何生成bcp命令文件(以pubs2为例)? 66 3.1.6 如何后备数据量大于2GB的数据库 67 3.1.7 如何查找数据库启动失败原因 67 3.1.8 如何在NT、UNIX下启动关闭ASE 68 3.1.9 如何在Windows操作系统上安装Open Client12.0 69 3.1.10基本的ASE 数据库管理命令 70 3.1.11简单故障及排除方法 71 3.2 中级篇 71 3.2.1 IP地址改变后如何修改interfaces文件 71 3.2.2 如何解决数据库被挂起的问题 72 3.2.3 如何终止数据库恢复过程 74 3.2.4 如何删除坏的用户数据库?(以pubs2为例) 75 3.2.5 如何检查数据库中数据的一致性 77 3.2.6 如何更改SQL Server名称(在UNIX、OPENVMS平台上) 78 3.2.7 如何在HP平台BCP OUT超过2G的数据 79 3.3 高级篇 80 3.3.1如何配置SQL Server来做远程备份? 80 3.3.2 如何配置SQL Server 11,使得快速BCP具有更好的性能? 80 3.3.3如何将SQL/ASE SERVER移植到同种平台(相同操作系统)的系统上 81 3.3.4 如何做Rebuild Master 82 3.3.5 如何移植master设备 84 3.3.6 如何重建sybsystemprocs系统数据库 86 3.3.7 如何做 rebuild log 87 3.3.8 如何恢复master数据库 88 3.3.9 Replication Server 12.0如何支持字符集为eucgb的ASE数据库? 89 4. SYBASE培训服务 91 4.1 SYBASE培训概述 91 4.2 SYBASE主要数据库课程介绍 92
正则表达式
lucene索引合并
探查Weblogic JDBC Multipool 问题
struts通用Exception处理
Grails中默认数据库HSQLDB点滴
从request获取各种路径总结
DIV实现的表格自动伸张与收缩
java 邮件服务
从Hibernate的映射谈编程思想
COBOL 式死亡,Java 是否真的即将被取代?
Java 6 RowSet 使用完全剖析
结合Spring2.0和ActiveMQ进行异步消息调用
struts+hibernate增删改查(一)
AXIS 布署问题
struts+hibernate增删改查(二)
MySQL中如何实现Top N及M至N段的记录查询?
ext学习笔记一
小试iBatis
RIA(Rich Internet Application)的现状和未来
Java应用中域名解析不过期的解决方法
Java编程那些事儿45—数组使用示例1
一步步熟悉OFBiz
用Java做客户端调用.NET写的 Web Services
WatiJ简历上的露体美女!
DFS文件读写
网络爬虫之Spider
Java正则表达式的总结关键词: Java正则表达式
批量上传--采集 (多个文件夹)
The Agile Way
hibernate mapping文件中的标记详解:关系标记
ANT 安装使用及build.xml文档模板
inverse和cascade在关联更新中的作用
hibernate mapping文件中的标记详解:映射标记
Java的“静态库链接”
姚博文 集成ACEGI 进行权限控制
SWT可交互式Browser控件
JDK配置(注意)
RIA简介(第一部分)
在 Eclipse 中嵌入 NASA World Wind Java SDK,
用3DES加密解密 BadPaddingException
Web Service 打包生成aar文件
什么是反射机制?
JDOM和数据库
DB封装
菜鸟编程那点事
JPA中的集合查询示例
EL表达式
彩金狮王I代46倍

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧