最近需要删除一批曾经用来存放日志的表,这些表数量很多而且占用了大量的磁盘空间,不得不删除,释放相应的磁盘空间。但是一张一张的手动来删除比较麻烦,在网上找了小技巧,只需要三步,就可以实现批量删除。
第一步 执行sql语句,我的表名都是以’DataSyncV1DelaySample或者’DataSyncV2DelaySample开头的,执行下面的语句得到一批drop table的脚本,后面的where条件可以根据自身的需求进行修改。
select 'drop table '+name+';' from sys.tables where name like 'DataSyncV1DelaySample%' or name like 'DataSyncV2DelaySample%'
第二步 复制脚本,执行
第三步 删除了表并不意味着,磁盘空间被释放了,还需要做一些操作,右键相应的数据库->任务->收缩->数据库,点击确定。期间可能需要点时间,执行完毕后,数据库占用的磁盘空间就被释放了。