收缩数据库可以中途停止吗? 数据库太大了,已经收缩了15个西欧按时,现在还有几百G需要收缩,请问可以停止了 会不会影响已经释放的空间,对数据库又有影响吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我直接是用的 dbcc shrinkdatabase('数据库',10)当时没想到要那么久的时间,哎,没经验。以为很快,结果把程序关了就执行。 结果现在还需要那么多的时间。不行的话试试开程序了,这个程序没有用户,只是一些插入操作,,,就不知道会不会有影响。 收缩的时候要移动后面页的数据到前面的页里,然后又再添加很多数据进去的话比较麻烦吧。不知道,sqlserver是怎么计算的。 收缩数据库 MicrosoftSQL Server2000 允许收缩数据库中的每个文件以删除未使用的页。数据和事务日志文件都可以收缩。数据库文件可以作为组或单独地进行手工收缩。数据库也可设置为按给定的时间间隔自动收缩。该活动在后台进行,并且不影响数据库内的用户活动。 当使用 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 操作试图立即将事务日志文件收缩到所要求的大小(以四舍五入的值为准)。在收缩文件之前应截断日志文件,以减小逻辑日志的大小并将其标记为不包含逻辑日志任何部分的不活动的虚拟日志 至于原理,你看了sql2000的联机丛书没?可以找到详细解释。 这个原理就是和windows的磁盘整理一样啊,移动数据dbcc shrinkdatabase('数据库',10)哈哈,太强了,这么小的~~~ TopFans(爱上了tcmm) lz 4月29就强制结贴了~ 貌似说强制结的是去年的贴。 十万里加急! 一组变量 求助!!!一个简单的让我头疼了一下午的法克问题 求查询语句,在线等 求一条sql语句,关联3个表格查询 执行SQL时提示'语法错误' 唯一性判断问题 疑难 再求个SQL 语句:? 请问在定义@时候需要注意些什么呢? 存储过程调用的问题! 求一sql语句~ 请教存储过程的多个输出
哎,没经验。以为很快,结果把程序关了就执行。
结果现在还需要那么多的时间。不行的话试试开程序了,这个程序没有用户,只是一些插入操作,,,就不知道会不会有影响。
收缩的时候要移动后面页的数据到前面的页里,然后又再添加很多数据进去的话比较麻烦吧。
不知道,sqlserver是怎么计算的。
MicrosoftSQL Server2000 允许收缩数据库中的每个文件以删除未使用的页。数据和事务日志文件都可以收缩。数据库文件可以作为组或单独地进行手工收缩。数据库也可设置为按给定的时间间隔自动收缩。该活动在后台进行,并且不影响数据库内的用户活动。
当使用 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 操作试图立即将事务日志文件收缩到所要求的大小(以四舍五入的值为准)。在收缩文件之前应截断日志文件,以减小逻辑日志的大小并将其标记为不包含逻辑日志任何部分的不活动的虚拟日志
可以找到详细解释。
dbcc shrinkdatabase('数据库',10)
哈哈,太强了,这么小的~~~
lz 4月29就强制结贴了~
貌似说强制结的是去年的贴。