当旧的数据库中的数据几乎很少使用到的时候,索引又占用着较大的磁盘空间,数据又不能删除,又想节省磁盘空间。

这个时候可以将所有表的索引进行删除了(先创建索引备份脚本,以备需要还原),可以批量一起删除。

参考脚本如下:

--查看数据库磁盘使用情况储存过程:
EXEC sp_spaceused --生成所有表索引删除脚本(不包含主键索引)
SELECT
('drop index ' + idx.name + ' on ' + OBJECT_NAME(CAST(idx.object_id AS INT)) + ';') AS dropIndexScript
FROM sys.tables tb
INNER JOIN sys.indexes idx ON idx.object_id = tb.object_id
WHERE tb.type = 'u'
AND idx.is_unique = 0
AND idx.name IS NOT NULL

通过生成的删除索引脚本,执行即可,不过执行的时候,确保正常,别删错,操作前一定要小心,操作前一定要小心,操作前一定要小心。。

SQL Server 批量 删除表索引的更多相关文章

  1. SQL Server批量向表中插入多行数据语句

    因自己学习测试需要,需要两个有大量不重复行的表,表中行数越多越好.手动编写SQL语句,通过循环,批量向表中插入数据,考虑到避免一致问题,设置奇偶行不同.个人水平有限,如有错误,还望指正. 语句如下: ...

  2. sql server 中删除表中数据truncate和delete的区别(转载自.net学习网)

    我们都知道truncate table可以用来删除整个表的内容,它与delete后面不跟where条件的效果是一样.但除此之外,我们还清楚它们之间有其它的区别吗?本章我们将一起讨论truncate与d ...

  3. Sql Server批量删除指定表

    --批量删除以test的表开头的表 declare @name varchar(50) while(exists(select * from sysobjects where name like te ...

  4. sql server 批量删除数据表

    SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Auth ...

  5. SQL Server中删除表中重复数据

    方法一:利用游标,但要注意主字段或标识列 declare @max integer,@id integer open cur_rows fetch cur_rows into @id,@max beg ...

  6. SQL Server 批量删除存储过程

    原理很简单的'drop proc xxx'即可,下面有提供了两种方式来删除存储过程,其实本质是相同的,方法一是生成删除的sql后直接执行了,方法二会生成SQL,但需要检查后执行,个人推荐第二种做法. ...

  7. SQL SERVER批量修改表名前缀

    比如前缀由mms_修改为 ets_ exec   sp_msforeachtable     @command1='  declare   @o   sysname,@n   sysname     ...

  8. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  9. 利用sql批量删除表,存储过程

    利用sql批量删除表,存储过程. 最近用godaddy的空间,由于系统里面的表多,一个个的删除很麻烦,就网上搜集了一下解决方法. 给大家分享一下: 1.批量删除存储过程 declare @procNa ...

随机推荐

  1. gdb break 断点设置

    http://sourceware.org/gdb/current/onlinedocs/gdb/ 断点设置 gdb断点分类: 以设置断点的命令分类: breakpoint 可以根据行号.函数.条件生 ...

  2. Jquery Ajax调用asmx出错问题

    1.//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释.      [System.Web.Script.Services.ScriptService] 这个 ...

  3. robot framework 接口自动化之登录

    网络不便,好久没更了,颓废好久,惭愧 目录 1.安装必须的库 2.固定格式介绍 3.完成一个登录 1.安装必须的库 requestsLibrary.requests安装 1.pip install r ...

  4. SELECT-OPTIONS对象

    1. SELECT-OPTIONS基本语法及定义 SELECT-OPTIONS通常用于参照一数据库字为建立数据输入域,其定义对象命名长度不能超过8位,其产生的屏幕对象最大输入长度为18位,语法如下: ...

  5. laravel 使用PhantomMagick导出pdf ,在Linux下安装字体

    git项目地址:https://github.com/anam-hossain/phantommagick sudo apt-get -y install fontconfig xfonts-util ...

  6. 在GAE中用Python编写webapp进行Post数据采集

    #!/usr/bin/env python # -*- coding: cp936 -*- # # Copyright 2007 Google Inc. # # Licensed under the ...

  7. jQuery 获取设置图片 src 的路径

    1.获取: $('#img')[0].src 2.设置:$('#img').attr("src", data.CodeUrl);

  8. 二、Zabbix-zabbix server部署-LNMP

    部署Zabbix server主要分为两部分(软件基本都是yum安装,不要问我为什么不用源码,因为没有必须用源码的需求) 一.部署LNMP/LAMP环境,已提供zabbix的界面展示,已经zabbix ...

  9. window环境rabbitMQ安装和php扩展安装

    下面的安装步骤,已经在2018-11-27试验通过. 1.安装前的准备 phpinfo查看php的版本.系统是多少位的,php版本是否是线程安全,php.ini文件的路径 2.安装rabbitMQ 安 ...

  10. 分享一个linux系统中采用嵌套for循环比较两个数组内容,并输出相同值的shell脚本

    #!/bin/bash array1=(1 3 5 6 7 9) array2=(3 4 9) echo array1=${array1[@]} echo array2=${array2[@]} fo ...