6、收缩数据库、收缩文件
--收缩数据库 DBCC SHRINKDATABASE('test', --要收缩的数据库名称或数据库ID 10 --收缩后,数据库文件中空间空间占用的百分比 ) DBCC SHRINKDATABASE('test', --要收缩的数据库名称或数据库ID 10, --收缩后,数据库文件中空闲空间占用的百分比 NOTRUNCATE --在收缩时,通过数据移动来腾出自由空间 ) DBCC SHRINKDATABASE('test', --要收缩的数据库名称或数据库ID 10, --收缩后,数据库文件中空间空间占用的百分比 TRUNCATEONLY --在收缩时,只是把文件尾部的空闲空间释放 )
--收缩文件 DBCC SHRINKFILE(wc_fg8, --要收缩的数据文件逻辑名称 7 --要收缩的目标大小,以MB为单位 ) DBCC SHRINKFILE(wc_fg8, --要收缩的数据文件逻辑名称 EMPTYFILE --清空文件,清空文件后,才可以删除文件 )
7、删除文件、删除文件组
7.1.要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上
--删除数据后,必须要清空文件的内容 DBCC SHRINKFILE(WC_FG8,EMPTYFILE)
--删除文件,同时也在文件系统底层删除了文件 ALTER DATABASE test REMOVE FILE WC_FG8
7.2.要删除文件组,必须先删除所有文件
--最后删除文件组 ALTER DATABASE test REMOVE FILEGROUP WC_FG8
8、重新组织索引
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock] REORGANIZE WITH ( LOB_COMPACTION = ON )
use testgo select 'DBCC INDEXDEFRAG('+db_name()+','+o.name+','+i.name + ');' --,db_name(), --o.name, --i.name, --i.* from sysindexes iinner join sysobjects o on i.id = o.idwhere o.xtype = 'U' and i.indid >0 and charindex('WA_Sys',i.name) = 0
9、重新生成索引
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock] REBUILD PARTITION = ALLWITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, ONLINE = OFF, SORT_IN_TEMPDB = OFF )
10、更新统计信息
--更新表中某个的统计信息 update statistics temp_lock(_WA_Sys_00000001_07020F21) update statistics temp_lock(_WA_Sys_00000001_07020F21) with sample 50 percent update statistics temp_lock(_WA_Sys_00000001_07020F21) with resample, --使用最近的采样速率更新每个统计信息 norecompute --查询优化器将完成此统计信息更新并禁用将来的更新
--更新索引的统计信息 update statistics temp_lock(idx_temp_lock_id) with fullscan
--更新表的所有统计信息 update statistics txt with all
11、执行SQL Server代理作业
exec msdb.dbo.sp_start_job @job_name =N'job_update_sql';
请大家收藏以后备用~