是否有一个脚本可以找到没有集群索引但具有Sql server 2008 R2的主键的表?请告诉我。找到没有集群索引但带有表上的主键的表
1
A
回答
2
事情是这样的:
SELECT
so.name AS TableName,
si.name AS IndexName,
si.type_desc AS IndexType,
si.is_primary_key
FROM
sys.indexes si
JOIN sys.tables so ON si.[object_id] = so.[object_id]
WHERE
si.type IN (0, 2)
AND si.is_primary_key=1
ORDER BY
so.name
+0
或更好:从SQL Server ** 2005 **开始,使用更具体的'sys.tables' - 节省您不必为表格指定'type ='U'' ..... – 2013-02-26 15:56:28
+1
@ marc_s:我更新了答案。这是你的意思吗? – Arion 2013-02-26 16:09:35
+0
好多了!另外:我认为它应该是'si.type IN(0,2)' - “0”是“堆”,“2”是其他非聚集索引。 – 2013-02-26 16:16:09
1
select O.name
from sys.objects as O
inner join sys.indexes as I1
on O.object_id = I1.object_id
inner join sys.indexes as I2
on O.object_id = I2.object_id
where O.type = 'U' and -- U = Table (user-defined)
I1.type = 0 and -- 0 = Heap
I2.is_primary_key = 1
相关问题
- 1. 在表的主键上有索引吗?
- 2. 没有主键的聚集索引
- 3. Zend_Db_Table_Exception:表必须有一个主键,但没有找到
- 4. zend Framework quickstart表必须有一个主键,但没有找到
- 5. 复制带有索引但没有数据的Oracle表
- 6. MYSQL没有键/索引的加入表
- 7. 表没有主键
- 8. 没有主键的表格
- 9. 没有主键的Rails表
- 10. 在表中没有任何索引的主键?
- 11. 没有主键的表的列表
- 12. 错误有在引用表上没有主或候选键
- 13. 有在引用表上没有主或候选键
- 14. 创建一个没有聚集索引的mysql主键?
- 15. 发票项目表集群索引表
- 16. 有在引用表上没有主或候选键的引用列列表中的外键
- 17. MySQL查找所有带有全文索引列的表格
- 18. Lucene的搜索没有找到关键字索引字段
- 19. 表没有主键c#
- 20. 表没有主键(MissingPrimaryKeyException)
- 21. SQL Server中主键(集群)和集群唯一索引之间的区别
- 22. 卡桑德拉主键没有集群键
- 23. 数据保存到表没有主键
- 24. Erlang:获取多主机群集上所有节点的列表
- 25. 任何表中都没有找到索引 - 是否有可能?
- 26. Cassandra选择可能没有主键的集群密钥范围
- 27. 没有主键的表的JPA实体
- 28. 没有聚集索引的表被认为是堆表?
- 29. 我们如何找到没有任何索引的表格(PostgreSQL)
- 30. 在分区表上设置群集主键的更好方法?
您可以使用元数据方案。 – 2013-02-26 14:40:36