收缩数据库
---- 查看数据文件大小 USE AIS20241217182025 GO SELECT a.name as 逻辑文件名, size/128 [totalspace文件大小(兆)], FILEPROPERTY(a.name, 'SpaceUsed')/128 [usedspace已用空间(兆)], size/128 - FILEPROPERTY(a.name, 'SpaceUsed')/128 [未用空间(兆)], FILEPROPERTY(a.name, 'SpaceUsed')*100.0/size [使用率(%)] FROM sys.database_files a cross join (select recovery_model_desc, log_reuse_wait,log_reuse_wait_desc,is_auto_shrink_on from sys.databases where name=DB_NAME())b WHERE type=0 --- 注:逻辑文件名,usedspace,totalspace从第4步的结果集获取 --- 收缩数据文件 declare @usedspace int ,@totalspace int select @usedspace= 308937,@totalspace =799977 while @totalspace> @usedspace begin set @totalspace= @totalspace-5 *1024 -- 每次5GB DBCC SHRINKFILE('SqlServer_BC_20120727194252_Data',@totalspace ) end
2. 查看当前收缩进度
---- 查看收缩进度【预估值】 SELECT DB_NAME(database_id) as dbname, session_id, request_id, start_time,command , percent_complete , dateadd(mi ,estimated_completion_time/60000,getdate ()) as ETC FROM sys.dm_exec_requests where percent_complete<>0
本文为宁若水!原创文章,转载无需和我联系,但请注明来自[若水]博客 www.lalaya.net