首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server -用于查找基于特定数据类型构建的所有聚集索引的脚本

SQL Server -用于查找基于特定数据类型构建的所有聚集索引的脚本
EN

Stack Overflow用户
提问于 2012-11-15 10:28:19
回答 1查看 3.7K关注 0票数 7

我正在尝试查找在数据类型为uniqueIdentifier的列上构建的所有聚集索引。显然,对于聚集索引来说,这是一个糟糕的选择,我正在尝试找到所有这些索引并将其删除。到目前为止,我编写的脚本将返回每个表的所有聚集索引,每个表上都有一个uniqueIdentifier。请帮帮忙。下面是脚本:

代码语言:javascript
复制
select distinct object_name(i.object_id) AS tablename, i.name AS indexname, i.type_desc     as type 
from sys.indexes i
join sys.index_columns ic on ic.object_id = i.object_id and ic.index_id = i.index_id
join sys.columns c on c.column_id = ic.index_column_id 
join sys.types t on t.system_type_id = c.system_type_id
join sys.objects o on o.object_id = i.object_id
where t.name = 'uniqueidentifier'
and i.type_desc = 'clustered'
and object_name(i.object_id) not like 'sys%'
EN

回答 1

Stack Overflow用户

发布于 2012-11-15 10:48:43

代码语言:javascript
复制
select o.name objectname, i.name indexname, c.name as columnname
from sys.objects o
join sys.indexes i on i.object_id = o.object_id
join sys.index_columns ic on ic.index_id = i.index_id and ic.object_id = i.object_id
join sys.columns c on c.object_id = o.object_id and c.column_id = ic.column_id
join sys.types t on c.system_type_id = t.system_type_id
where o.is_ms_shipped = 0
  and i.type_desc = 'CLUSTERED'
  and t.name = 'uniqueidentifier'
order by o.name, i.name
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13390721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档